Jan 8, 2008
The End of an Era
Posted in: Academics & Research
Hi, everyone! Sorry that I vanished off the face of the earth. That was really kind of terrible form, I know. But Ben and my mom are conspiring, which means that I need to put that to an end. In the next little while, I'll try to do a recap of last term, which was fantastic, but unbelievably hosing.
This particular post, though, is about a particularly well-known class around the Institvte.
As many of you know, 6.001 was a class invented at MIT to teach the fundamentals of how to program. The first class was taught in 1980 by Hal Abelson and Gerry Sussman, the authors of its companion book Structure and Interpretation of Computer Programs, which also happens to be the official name of the course. The class has been offered constantly since then, and it's been taught roughly the same way.
The class was structured around Scheme, a programming language which Sussman invented with Guy Steele in the 70's here at MIT. It's an unusual language with a syntax that's radically different from most other programming languages (at least ones that aren't LISP), so most people aren't familiar with it coming in. And because of this, the class has gotten a lot of flak in recent years, especially from people who know "more normal" programming languages.
In spite of this, 6.001 had a very strong reputation for teaching people not only how to program, but how to think about programming, and how to take big problems and deal with them. There are a lot of classes that claim to do this same thing, and probably many of them do, but 6.001 seems to be unique in just how it manages to pull it off.
Starting this year, though, the Course VI department is beginning to migrate incoming freshmen to the new curriculum. And 6.001 doesn't really have a place in the new curriculum, so this is the last term that it was offered. Several years ago, Sussman said that he wanted to be the last person to teach 6.001, and so he taught it this term, taking it back from (guest blogger) Eric Grimson, the head of the department, who has taught the class for as long as any of my friends can remember.
Because 6.001 is "early" in the day (10 AM - which is very early by MIT standards), frequently the students will opt for other means of learning the material, but for this last lecture ever, current students of 6.001, past students of 6.001, and even people who had never taken 6.001 came to see the class off.
And just to put their own stamp of approval on the class, some hackers apparently covered the original room number (32-123) with a new number for the day:
For the last lecture, Sussman spent about 30 minutes talking about the halting problem - the idea that a computer can't determine whether or not it's possible to calculate something in finite time. At the end of his lecture, though, one of the TA's came up to say something about the class's passing. In particular, he noted that it was "remarkable that a course invented then [the 80's] is still so dead on in what matters." He pointed out the remarkable insight of Abelson and Sussman to see into the core of computation, "keeping it fresh for more than a quarter of a century." And afterwards, the entire room stood up and applauded the class.
Now that 6.001 is gone, it's being replaced by 6.00, 6.01, and 6.02 in the new curriculum. There are a lot of students that don't really like the new curriculum, but for the most part, it seems to me that they are just being resistant to the change. It's definitely true that 6.01 hasn't quite settled into being a really solid class yet, but 6.02 looks like it's amazing. Among other things Chris Terman, my 6.111 professor, is teaching part of it, and he's just generally awesome.
It think that the new curriculum isn't quite there yet, but it's definitely close.
I promise that I'll try to post more during IAP and this next term! Really! I've definitely got a long list of things to talk about.