"The End of an Era"

来源:百度文库 编辑:神马文学网 时间:2024/04/27 17:24:06
Hi, everyone! Sorry that I vanished off the face of the earth. Thatwas really kind of terrible form, I know. But Ben and my mom areconspiring, which means that I need to put that to an end. In the nextlittle 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-knownclass around the Institvte.
As many of you know, 6.001 was a class invented at MIT to teach thefundamentals of how to program. The first class was taught in 1980 byHal Abelson and Gerry Sussman, the authors of its companion bookStructureand Interpretation of Computer Programs, which also happens to bethe official name of the course. The class has been offered constantlysince then, and it's been taught roughly the same way.
The class was structured around Scheme, a programming language whichSussman invented with Guy Steele in the 70's here at MIT. It's anunusual language with a syntax that's radically different from mostother programming languages (at least ones that aren't LISP), so mostpeople aren't familiar with it coming in. And because of this, the classhas gotten a lot of flak in recent years, especially from people whoknow "more normal" programming languages.
In spite of this, 6.001 had a very strong reputation for teachingpeople not only how to program, but how to think about programming, andhow to take big problems and deal with them. There are a lot of classesthat claim to do this same thing, and probably many of them do, but6.001 seems to be unique in just how it manages to pull it off.
Starting this year, though, the Course VI department is beginning tomigrate incoming freshmen to the new curriculum. And 6.001 doesn'treally have a place in the new curriculum, so this is the last term thatit was offered. Several years ago, Sussman said that he wanted to bethe last person to teach 6.001, and so he taught it this term, taking itback from (guest blogger)EricGrimson, the head of the department, who has taught the class foras long as any of my friends can remember.
Because 6.001 is "early" in the day (10 AM - which is very early byMIT standards), frequently the students will opt for other means oflearning the material, but for this last lecture ever, current studentsof 6.001, past students of 6.001, and even people who had never taken6.001 came to see the class off.
And just to put their own stamp of approval on the class, somehackers apparently covered the original room number (32-123) with a newnumber for the day:

For the last lecture, Sussman spent about 30 minutes talking aboutthe halting problem - the idea that a computer can't determine whetheror not it's possible to calculate something in finite time. At the endof his lecture, though, one of the TA's came up to say something aboutthe class's passing. In particular, he noted that it was "remarkablethat a course invented then [the 80's] is still so dead on in whatmatters." He pointed out the remarkable insight of Abelson and Sussmanto see into the core of computation, "keeping it fresh for more than aquarter of a century." And afterwards, the entire room stood up andapplauded the class.
Now that 6.001 is gone, it's being replaced by 6.00, 6.01, and 6.02in the new curriculum. There are a lot of students that don't reallylike the new curriculum, but for the most part, it seems to me that theyare just being resistant to the change. It's definitely true that 6.01hasn't quite settled into being a really solid class yet, but 6.02 lookslike 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'sdefinitely 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.
Share
The author has filed this entry in the"Coursework" section; check it out for further reading on this topic.

(Please note that comments are closed after 30 days to reduce spam.)
First? Gasp!
I have to say it's pretty amazing what people will do for things thatmatter at MIT. One of the reasons I'm looking forward to going.
Also interesting to see what's changing in the Computer Sciencesdepartment. For a topic that changes so quickly, it's funny that peopleare resisting the curriculum's change.
Posted by: AwayfromHomeon January 8, 2008 01:04 PM

Nightwish?
Posted by:Constantinon January 8, 2008 01:33 PM

I once read about the hacks that faculty also admires them even ifthey are illegal. Now I know why.
And ya I'm also looking forward to course 6, so it's good to hearwhat is going on.
Posted by: A onJanuary 8, 2008 01:41 PM

Oh! I think I went to a recitation of this class during my visit. Iactually understood what was going on. It was fun :-D
Posted by: Laurenon January 8, 2008 01:52 PM

Computer Programmin'! What fun... I would love to be in the class...Wow! I would love being in MIT!
Posted by: Rahul Jainon January 8, 2008 03:37 PM

Quick anecdote. Once upon a time, I was meeting with a math professoratNotre Dame. Theprofessor was running late for some reason, but his office was open, so Ijust went inside to wait for him. Apparently he had some interest incomputer science, because I noticed a lot of books about the subject onhis bookshelf. Me being me, I couldn't help but pick up one and startperusing it.
By chance, it wasThe Structure and Interpretation of Computer Programs.Just goes to show you, it's a pretty important book.
Posted by:Paulon January 8, 2008 04:17 PM

As is absolutely not surprising, given our other correspondence, thismakes me really sad :-(. I mean, I am excited about the new curriculum ,but the loss of Scheme .. is sad. I don't know, I'm just worried thatit will all become less solid .. or something.
My feelings come somewhat from articles like this:http://www.joelonsoftware.com/articles/ThePerilsofJavaSchools.html
Anyway, peace,
~Donald Guy
Posted by:donaldGuy '12on January 8, 2008 08:30 PM

I'm kinda concerned too -- if I get in (RA), then I will definitelybe majoring in Course VI, and if the curriculum hasn't fullymaterialized yet...
And I was excited to learn Scheme too! I saw Lisp being used indunnet, a text-adventure built into GNU Emacs. It looked reallyintriguing. Oh well... I might try teaching myself Lisp sometime for theheck of it.
But still, I have faith that the new curriculum will still hold trueto EECS's goal: teach you not just how to program, but also tounderstand design and algorithmic concepts. It's the abstraction layerthat's important, not the tools you use.
@donaldGuy
Very interesting article. I actually learned C and then C++ beforeever touching Java, so I had my share of pointer frustrations! Pointersare messy and very...volatile. But I never had much troubleunderstanding them. Recursion, on the other hand, is something I'm stilltrying to get used to... ;-)
Still, even though Java was pretty easy for me to learn, I stillprefer C/C++. I don't care if pointers are unsafe -- they forced me toanalyze programs in ways Java never would have. Damn memory management:SIGFAULTs and SIGSEGVs are two of the most frustrating errors Ihave ever encountered! :D
Posted by: asm onJanuary 8, 2008 10:01 PM

I'll probably be majoring in Course VI too. Or electricalcommunications. And from what I've seen, both courses are being reworkedin a lot of other universities because of how much they've changed inthe past decade. In fact, I can't even transfer credit from a fewsubjects I took 2 years ago because they're obsolete!
*sigh* The world changes so fast doesn't it? Back when I was apre-teen, just a decade ago, 56K modems were the new fad, SMS and Googledidn't exist, and the in-thing was IRC and HTML. Now, even universitieshave blogs which my cellphone can access. It's kinda sad knowing thatin 2018, all the new computer stuff I'll learn tommorow will be obsolete:/
Posted by: Muz onJanuary 8, 2008 11:21 PM

Absolutely LOVED this entry.
Being Course VI the most famous of all majors at MIT, it would beexpected to have more course VI bloggers (or entries). Please blog moreoften, you have no idea how much your blog is appreciated! =)
Posted by: Edgaron January 9, 2008 01:31 AM

*mourns* I'll never be able to take 001! I'm not doing Course 6(I'm thinking 10B or 7), but I do want a little programming background.Oh wells...
Posted by:Piper '11on January 9, 2008 01:53 AM

Keep blogging about this dude.. People in remote places like Peru (mycase) or India care about.
Regards,
Antonio.
Posted by:Antonio Ognio onJanuary 9, 2008 10:26 AM

Without the SICP treatment of scope, environments and continuations,your education in software engineering would be profoundly lacking. Ifthe new curriculum doesn't cover this material adequately, you *must*supplement from SICP.
Posted by:Ally Kendallon January 9, 2008 11:24 AM

My first thought when reading this was "What are they doing?". Then"Are they insane?". And also "Can I cancel my application?" :D. Butafter thinking it through, MIT is MIT and there are people who'll createsomething for several other decades. BUT 6.001 IS HISTORY! It's thebasics and it'll last forever(there are videos of old lectures).
Posted by:Vytautason January 9, 2008 11:25 AM

I'm actually reading through SICP on my own (since my school's CSdepartment has become a JavaSchool), and to all the people saying thatall of the 6.001 stuff is obsolete: you don't understand CS well if youthink that this kind of thing will EVER become obsolete. The head ofour CS department started studying in the early 60's and he says thatthe concepts he learned then are the same as the ones people need today.It's a shame that such a solid course based on functional programmingis going the way of the dodo.
Posted by: Jameson January 9, 2008 11:57 AM

And now the beaver shits on you hahahaha. Really.
Posted by: Jim onJanuary 9, 2008 02:52 PM

Hello again,
well, I have had a moderate change of heart. I talked to ProfessorSussman on the phone, and he told me that he thought I was placing tohigh an emphasis on the specific language.
He said that he'd actually been trying to have 6.001 replaced forthe last ten years (and I read somewhere that Professor Abelson wasbehind the move too). His point was that the way industries work hassimply changed drastically. Understanding the principles is notessential for an introduction to the subject matter anymore, it mattersmore that you can develop a mental map of systems and make things workfor you which is what dealing with the robots in 6.01 will make you do.He sees 6.001 as obsolete. Personally, I wish it was possible tounderstand all the principles, but I guess its simply a reality that Imust deal with. I guess, if you think about it, the path to furtherprogression does not come from re-learning what has already been known along time, but from using and building on that basis, applyingprinciples in a working fashion, and achieving new things.
Anyway, if the creators of 6.001 both favor the new curriculum to theold, I guess I shall have to concede to their greater wisdom. I lookforward to taking 6.01 and 6.02 ^_^
Also, I'd like to say that the simple fact that Professor Sussmandidn't mind taking the time to talk to me really shows how trulyaccessible the amazing staff at MIT are.
Peace all,
~Donald Guy
Posted by:donaldGuy '12on January 9, 2008 06:25 PM

Huh. Ok. See, there's all this stuff I wish I knew about MIT. Andwill know when I (hopefully) go there next year. I want to major incourse 6, but I'm just taking Java now for the first time, and I planto try to learn C or C++ over the summer. I really liked the recursionchapter, but it was probably pretty basic.... hmm... 75ish more days togo.
Posted by: Anonymouson January 10, 2008 02:36 AM

Well, as Donald said, considering the creators of 6.001 themselveswanted to get rid of it, then that definitely says something...
Still, I always had faith. I mean, this is MIT. Of course they knowwhat they're doing -- they're the best!
Plus, it looks as if 6.01 is even more broad and comprehensive than6.001 was. Robots and Python? That sounds amazing. And even thoughlanguages aren't supposed to be important, I think learning Python makesup for the loss of Scheme in many ways.
Now, if I could only find out if I would be allowed to attend nextyear... ;-)
Posted by: asm onJanuary 10, 2008 03:05 AM

I loved SICP! I went through some of the book and watched the oldlecturevideos. *sigh* I wish MIT still offered 6.001, but I'm sure thenew courses will be just as amazing in their own way.
Posted by:Hawkinson January 11, 2008 09:44 AM