3 ms·
If you want the modern, grad-level version of an MIT scheme class, I highly recommend Sussman's 6.945. I don't know if there's an open courseware version but th
by peter_l_downs 6y ago
If you want the modern, grad-level version of an MIT scheme class, I highly recommend Sussman's 6.945. I don't know if there's an open courseware version but the entire class is centered around psets, each of which starts with a base environment provided by Sussman and the teaching staff, and which you are required to work in / extend. The class itself was extremely entertaining: you watch Sussman walk back and forth between two transparency projectors, switching the slide on each one as he arrives. Yes, you got very good at reading scheme code very quickly while listening to him talk at the same time.
I understand why MIT decided to make the introductory CS classes more accessible -- they wanted to expand the CS department beyond just those who had already had programming experience by the time they got there, I think? It makes a lot of sense and frankly I found the "replacement" classes pretty great, even while I was taking this class at the same time. Instead of going on at length about how much of a shame it is that MIT "got rid of its scheme class", consider 6.945.
This was one of the handful of classes that I felt were worth the price of admission; I've written code differently ever since.
http://groups.csail.mit.edu/mac/users/gjs/6.945/ http://groups.csail.mit.edu/mac/users/gjs/6.945/
- kkylin 6y agoThere's a book that GJS and Chris Hanson are writing, based on the course: https://www.penguinrandomhouse.com/books/669475/software-design-for-flexibility-by-chris-hanson-and-gerald-jay-sussman/ https://www.penguinrandomhouse.com/books/669475/software-des... It should be coming out soon. I'd expect it to be available online as well.
- peter_l_downs 6y agoThank you for this link, I didn't know they were writing a book but I just pre-ordered it!
- zerr 6y agoCan't find the link, but as I recall in one of the interviews, Hal Abelson explained the reason behind switching to Python: SICP/Scheme was good when systems where small and a single person could understand/create whole systems. Nowadays, systems are huge, lots of parts/components, and programmers mostly write glue code.
- gumby 6y ago> I understand why MIT decided to make the introductory CS classes more accessible -- they wanted to expand the CS department beyond just those who had already had programming experience by the time they got there... Not sure that motivation really applies as back when 6.001 Was introduced most MIT freshman had not programmed a computer before arriving. Also the course was taught a few times to non course 6 faculty who wanted it — I remember helping a course 21 (history) prof with psets and he had previously never even used a computer. Also making things “accessible”* isn’t really an MIT thing,mor wasn’t back when I was there anyway. * in the sense used in your comment I mean
- peter_l_downs 6y agoLike all big changes, I bet it happened for many reasons, and which one is considered the primary driver depends on who you ask. I can tell you that I based this on recollections of talking with the 6.01 instructor when I took it, as well as talking with Abelson and Sussman about it in passing, but also that my memory of that time in my life is extremely fuzzy and should be taken with a grain of salt.
- doneata 6y agoHere are video recordings of similar material, but taught at Google in 2009 by Sussman and Hanson: https://archive.org/details/adventures-in-advanced-symbolic-programming/ https://archive.org/details/adventures-in-advanced-symbolic-...
- peter_l_downs 6y agoWhoah, thank you for this, from skimming the lecture videos this seems very close to the class as I remember it.