Monthly Archive for February, 2003

What a week. I’m spent.

Well, that’s it.

  1. Parallel Systems homework, due Tues, 3:30pm
  2. Study a bit for ‘Socratic Hour’, Wed, 1:00pm
  3. Read ‘Life Itself’ and some other stuff for honors conversion, due Wed, 3:00pm
  4. Write a basic isometric view in java (proof of concept), due Wed, 4:00pm
  5. Study for Programming languages exam, Thurs, 12:30pm
  6. Do a draft of UM paper with the changes suggested by the reviewers, due Fri, 2:00pm

What a week. I’m spent.

“47% of all statistics are made up on the spot.” -not me

So I’m taking Programming Languages, one of the most advanced computer science courses at UConn. Theory of Computation gave it a run for its money, but it’s up there, no doubt. And the subject we are studying is the lambda calculus, invented in the 1930s by Alonzo Church who, I might add, had to be a fucking genius. See, the first general purpose computing machine was invented some time around 1945. Sixty years later, we are studing computer science in its most advanced form, which Mr. Church insanely grasped from thin air decades before any sort of practical computing machine ever existed.

My suite-mate Jon, on the other hand, is studying Mathematics. In particular, mathematics which has only been around for about thirty years. He informs me that in the past fifty years many areas of math have rocketed off the shelf–things like differential equations–due mostly because of the advent of fast computers.

In other words, since computers came on the scene, the theory of computation has stagnated, while the theory of mathematics has experienced a renewed interest. Ironic.

Of course, there’s probably a wealth of research in the theory of computation that I just haven’t been exposed to, but from the perspective of two college students, it sure looks silly.

“What is this “day of rest” shit? What is this bullshit, man? I don’t fucking care! It don’t matter to Jesus! But you’re not fooling me! You might fool the fucks in the league office, but you don’t fool Jesus! It’s bush league psych-out stuff! Laughable, man! I would’ve fucked you in the ass Saturday, I’ll fuck you in the ass next Wednesday instead!” -not me

So, some things completed, some averted

  1. Parallel Systems homework, due Tues, 3:30pm
  2. Study a bit for ‘Socratic Hour’, Wed, 1:00pm
  3. Read ‘Life Itself’ and some other stuff for honors conversion, due Wed, 3:00pm
  4. Write a basic isometric view in java (proof of concept), due Wed, 4:00pm
  5. Study for Programming languages exam, Thurs, 12:30pm
  6. Do a draft of UM paper with the changes suggested by the reviewers, due Fri, 2:00pm

So, some things completed, some averted. But I’m still alive. My exam is 18 hours away, which is scary. The renderer I wrote came out pretty well though:

senk-screenshot.jpg
The Mystery of SENK

You can only draw funky study lounges, with green couches in them, so it’s not that exciting, but it’s a big first step. Too bad I was up until 7am this morning writing it.

Did a sort of shoddy job

  1. Parallel Systems homework, due Tues, 3:30pm
  2. Study a bit for ‘Socratic Hour’, Wed, 1:00pm
  3. Read ‘Life Itself’ and some other stuff for honors conversion, due Wed, 3:00pm
  4. Write a basic isometric view in java (proof of concept), due Wed, 4:00pm
  5. Study for Programming languages exam, Thurs, 12:30pm

Did a sort of shoddy job on that, but it’s done. Blah.

Overall, the fact that I finished that Programming Languages assignment so late was a bad thing. Yesterday I went in to the professor to ask him some questions about the assignment, and he told me that he had already put the solutions on the web site, which is a bad thing indeed. Of course, I hadn’t seen them, still haven’t. But it forces him into a position of uneasy trust, which is not what I want at all. He told me to finish it and hand it in yesterday, which I did, but I still have a very sour taste in my mouth.

This professor taught one of the courses last semester that I did worse in than I hoped. I really wanted to turn things around for this class, but so far I am off to a bad start. I have a midterm in this class on Thursday that I haven’t even started yet. Bad. Large items of academic pursuit that need to be finished in the next few days:

  1. Parallel Systems homework, due Tues, 3:30pm
  2. Study a bit for ‘Socratic Hour’, Wed, 1:00pm
  3. Read ‘Life Itself’ and some other stuff for honors conversion, due Wed, 3:00pm
  4. Write a basic isometric view in java (proof of concept), due Wed, 4:00pm
  5. Study for Programming languages exam, Thurs, 12:30pm

Of course, I am scheduled to work Wednesday and Thursday morning now, which doesn’t help. I hate to ask for more time off from work, but I will probably have to on at least one of those days. Not enough hours in the day.

I just finished the homework assignment I’ve been bitching about. Here’s the final bit I just wrote:

datatype ''a Set = Empty
                 | Node of ''a * ''a Set

fun foldsetl F = fn base => fn Empty => base
                            |  Node(x, S) => F(x, foldsetl(F) base S)

fun singleXCrossFunGen x = fn (y, S) => Node((x, y), S)
fun crossSingleXWithSet(x, S) = foldsetl(singleXCrossFunGen x) Empty S;
fun setCrossFunGen S1 = fn (x, S2) => union(crossSingleXWithSet(x, S1), S2);
fun cross(S1, S2) = foldsetl(setCrossFunGen S1) Empty S2;

The jist of this particular part of the assignment was to implement the cross product of two sets in ML without recursion. Of course, I rely on a recursive implementation of foldl for sets, but my feeling from the professor is that this is OK within the context of the assignment. I also just realized (after I handed it in) that I rely on the recursive union. I’m not sure how this would be a problem if foldsetl isn’t. I think the point was to not call cross from within itself.

Either way, I’m glad it’s done. That was one of the most difficult assignments I’ve ever had. Some of the finer points of functional programming represent an incredible conceptual challenge for someone who has done only procedural programming for his whole life. I’ll probably look back on this code and realize that it’s crap, but at the moment it looks pretty magical to me. Certainly different than anything I’ve ever done.

Going to bed.

My god, I’ve completed a version of my Programming Languages assignment that actually compiles with something close to the correct signature. Much left to do, and it’s already three and a half days late, but I’m feeling pretty good.