(Untitled)

Dec 06, 2008 14:11

Apparently, MIT is replacing the SICP/scheme based introductory computer programming course with a python based one.

It doesn't really matter, I think, what language is used as long as the concepts get across, but still. This saddens me a little.

Leave a comment

Comments 6

darius December 6 2008, 22:56:38 UTC
Abelson or Sussman made a short comment saying roughly that what SICP teaches is less important these days when interesting apps are assembled out of an ecosystem of bigger components that you can't afford to understand deeply. But I don't understand what the new course is meant to teach instead -- I'd like to see that explained.

Reply

lexical_closure December 7 2008, 00:55:57 UTC
http://mit.edu/6.01/mercurial/fall08/www/index.html <== the replacement course. I haven't really looked at it much in depth at all.

In an ideal world, it wouldn't be important to know all the components you might use in any depth other than the provided interface, so I can't really disagree with the statement in that respect.

On the other hand, I do think that it's important to know that you *could* build those components if you had to. In much the same way that I haven't hand-coded assembly in a long time, but I know I could if I needed to, and [i]understanding[/i] assembly and having a general model of 'this is what the machine is doing, roughly' is pretty useful. (not that any of this is an accurate representation of SICP, or anything - it's not like it teaches assembler - this is just me babbling my thoughts about the given statement).

Reply

darius December 7 2008, 06:16:22 UTC
Would like to get a good summary of what kind of understanding they see as central now -- OK, so interpreters and hardware compilers don't make the cut anymore, so what is it? Back in the 80s they published an article in Byte that was like, the core ideas of SICP in 10 pages, roughly, and it blew me away and made me go get the book.

I'd like to work through that course, though it's not clear if that's practical at home, and I don't really want to give it the time now. (I have started working through Russell & Norvig recently -- AI: A Modern Approach. Read the first edition back in our IRC days, when I was joining the JPL AI group but couldn't give it the time to work through properly... it's really good. It has some overlap with this course description.)

Reply

lexical_closure December 7 2008, 18:07:04 UTC
I've been meaning to pick "AI: A Modern Approach" up for a long time, actually. I should get that done ...

Just based on what the buzzwords are these days, if it's not interpreters and hardware compilers, it's most likely virtual machines. Which makes python make sense as a language pick, at least.

To me there's not a huge conceptual difference between targeting a virtual machine and targeting an "actual machine", so to me that's almost "six of one, half a dozen of the other". I suppose I could be wrong.

I also heard through the freenode #lisp grapevine that UMass replaced it's SICP based CompSci 287 with, quote, "a class on Java + Eclipse + Design Patterns + Refactoring", which sounds horrid to me.

Reply


Leave a comment

Up