

SICP is being taught again at MIT - gnosis
http://web.mit.edu/alexmv/6.S184/

======
busted
It's too bad that this is just a compressed sampler course and that they are
not reinstating the original class. I took the equivalent course at Berkeley,
which also taught SICP with Scheme, and I can't possibly imagine a better
introductory Computer Science class, for 2 reasons:

First, as is stated everywhere else, SICP is a beautiful book and it does an
amazingly fun and efficient job teaching you many, many fundamental topics in
CS, and more than that it teaches you how to think and develop good intuitions
for it.

Second, and maybe an opinion you haven't heard, teaching the class in Scheme
is a huge benefit, and anyone who says the opposite just plain sucks. Pardon
my coarseness, but so many kids who start out their college career are little
shits who think they know everything about programming and that taking an
introductory class is beneath them. I've heard that sentiment expressed almost
verbatim, along with people listing off all the projects they've done in
python and java and whatnot. When the professor (no longer Brian Harvey
unfortunately!) starts teaching the class in Scheme they all shut their grubby
little mouths and actually listen and try to learn something. The naysayers
don't understand that the class isn't about _programming_ , it's about
_computer science_ , and just the beauty of seeing that this weird functional
language you've never seen before can be used to do everything from taking
derivatives elegantly to implementing it's own interpreter to developing a
query language or an OO language, etc, goes a long way in illustrating the
malleability, openness, and sheer potential of Computer Science to new
students who should be learning just that.

~~~
throw_away
Looks like Brian Harvey is retiring, but before he does, he's working on a
self-paced version of 61A, which will also include chapter 5 of SICP! (Cal,
historically, has always only taught chapters 1-4, to the point, IIRC, of
having a special SICP published without chapter 5).

<http://www.cs.berkeley.edu/~bh/61a.html>

I hope this is made available to the public, as it's a bit like discovering a
long-lost director's cut ending to a much-loved film.

~~~
kruhft
I don't have my copy of SICP with me at the moment. Could you explain what is
covered in chapter 5?

Edit: Internet to the resucue: [http://mitpress.mit.edu/sicp/full-
text/book/book-Z-H-30.html...](http://mitpress.mit.edu/sicp/full-
text/book/book-Z-H-30.html#%_chap_5)

------
dlevine
Ah, 6.001

Brings me back to the fall of 1998, and many long Thursday nights spent
working on problem sets. This was before you could do the exercises on the
web, so you had to go into an ancient lab with grayscale terminals (unless you
wanted to download a special version of emacs onto your computer). If you
needed assistance, you had to get on the TA's help queue, which was written on
a chalkboard.

Typically I would finish my problem set and emerge just in time to see the sun
rise.

~~~
jpdoctor
> _Brings me back to the fall of 1998,_

Bah. I took it in 1983, on a TOPS-20 machine iirc with vt100's. We might as
well have submitted our work in crayon.

Now get off my lawn.

(Sussman's book was still notes at that point. I wouldn't have guessed it
would turn into the institution that it has turned into.)

~~~
ScottBurson
Bah. I took its predecessor course, 6.031, in 1977. We used an 11/45 with
D(r)ECwriters. And you're bitching about a VT-100?

Now get off my lawn!

~~~
worldimperator
You had to write it in 1s and 0s ? We only had 0s at the time !

------
tikhonj
SICP was killed--well, is in the process of being killed--at Berkeley just
this year. However, largely at the prodding of the old (and really awesome)
SICP professor, it has also reemerged, now as a self-paced course. I know some
of the people working on administering the self-paced version, and I am very
impressed with where it is going. So there is hope yet ;)

------
mrlase
Hmm, this looks pretty interesting. Would anyone happen to know why they
dropped the course originally? Is there any sort of push for more functional
programming at MIT now? I saw that they had a Haskell class listed on the SIPB
IAP 2012 page.

CMU also has a Haskell course and also is pushing for a complete "elimination"
so to speak of OOP from their curriculum ([http://reports-
archive.adm.cs.cmu.edu/anon/2010/CMU-CS-10-14...](http://reports-
archive.adm.cs.cmu.edu/anon/2010/CMU-CS-10-140.pdf)).

EDIT: Okay, I can't seem to find the page about the haskell course at CMU now.
Maybe I'm thinking of a different university. Oh well, the message stays the
same in regards to functional programming.

~~~
gnosis
_"Would anyone happen to know why they dropped the course originally?"_

[http://www.wisdomandwonder.com/link/2110/why-mit-switched-
fr...](http://www.wisdomandwonder.com/link/2110/why-mit-switched-from-scheme-
to-python)

[http://danweinreb.org/blog/why-did-mit-switch-from-scheme-
to...](http://danweinreb.org/blog/why-did-mit-switch-from-scheme-to-python)

<http://mitadmissions.org/blogs/entry/the_end_of_an_era_1>

<http://news.ycombinator.com/item?id=530605>

~~~
spacemanaki
See also: <http://www.codequarterly.com/2011/hal-abelson/>

The change wasn't the primary subject of that interview but Seibel is a Lisper
so he was clearly interested in hearing about it and asks some interesting
questions about it.

------
mrspandex
For those that are unfamiliar, SICP is a book - Structure and Interpretation
of Computer Programs

<http://mitpress.mit.edu/sicp/full-text/book/book.html>

~~~
ivan_ah
And while on that subject, you can check out: Structure and Interpretation of
Classical Mechanics <http://mitpress.mit.edu/sicm/book.html>

[ A complete course on Lagrangian mechanics (the stuff you need to solve
mechanics problems more complicated that the simple types of motion covered by
Newtonian mechanics), with each equations are actionable.]
<http://mitpress.mit.edu/sicm/book-Z-H-11.html>

------
MaysonL
A very interesting feature, the Online Tutor:
<http://icampustutor.csail.mit.edu/6.001-public/>

~~~
losvedir
In my experience, people's reactions to the XTutor have been hit or miss. Some
people despise it, while others (me included) love it!

I taught an abbreviated version of 6.001 in China many summers ago, and it was
sponsored by Microsoft's iCampus project to test out different learning tools.
XTutor was one tool we used, and while it certainly helps the student in that
it gives immediate feedback, what was surprising to me was how much it helped
us, the somewhat inexperienced teachers. Teaching the 6.001 course would have
been much more difficult without it.

Lots of people have knowledge they'd be happy to share. The easier we can make
it for them to connect with learners, the better.

------
lordlicorice
Any hope of video for the lectures? :)

Or did anyone sneak a camera into the C++11 talk?

~~~
jsyedidia
If you want videos, use the videos of Sussman and Abelson:
[http://groups.csail.mit.edu/mac/classes/6.001/abelson-
sussma...](http://groups.csail.mit.edu/mac/classes/6.001/abelson-sussman-
lectures/)

------
lightcatcher
Is SICP just not taught at a lot of places anymore? SICP used to be the first
CS class at Caltech, but now its generally the second CS class (with
programming) that people with no prior programming experience take.

------
chimeracoder
Are we sure this website is current? I don't see 2012 anywhere, and professors
oftentimes forget to take down old course websites.

If this is true, though, that's great news. SICP is the perfect way to teach
computer science from the ground up, assuming that you're dealing with a
student dedicated enough to do things the 'hard way' (or at least, the way
that's less immediately/obviously rewarding at first). This is harder to do at
other schools where students are not yet certain that they want to study CS,
and there is a need to 'sell' them very quickly on the merits of learning CS
(which is why you end up with some intro classes designed around mobile app
development, rather than fundamental CS theory).

~~~
nelhage
This website is current. I'm one of the alumni involved in this version of the
course.

To give some more context, this is a course taught by a group of MIT alumni
over MIT's "IAP" January term (<http://web.mit.edu/iap/>). As such, it's only
8 lectures over the course of a month, not a full semester-long class. It's
partially sponsored by the EECS department and worth 6 units of P/D/F credit,
but is not affiliated with the official EECS curriculum in any way, and does
not fulfill any department requirements.

It's mostly just an effort by a few of us who loved SICP to give students
these days an opportunity to be exposed to some of the Big Ideas from the
class, that we feel haven't really found their way into the revamped
curriculum.

~~~
wes-exp
Just wanted to say: thank you for helping to restore SICP.

------
zem
nice to see them using racket this time around. it's one of the best
environments i've seen for scaling all the way from beginner to professional
needs.

------
edave
awesome, 6.001 was one of the best courses I took.

