

Ask HN: Is there a good way to go through SICP? - backslash_16

I'm a junior developer (in Seattle if that helps) and I want to improve my computer science theory and programming skills.<p>After searching around on the internet and reading a lot of recommendations it seems like the best book for me to go through is the Structure and Interpretation of Computer Programs. It's currently being shipped to me now.<p>Is there a good way to go through it? I read that MIT previously used it, which led me to the MIT OCW 6.001 course. That seems like a fairly good route. I also found assignments on the MITPress/SICP website, but they appear to be lost to time; I can't open the .ps file using Adobe Distiller and I couldn't get the LaTeX file to work either.<p>If you all think the MIT course isn't a good way to go through it I figure I'll just round up a few friends and/or co-workers and try to convince them to go through a chapter or two a month with me.<p>Thanks for your advice!
======
octopus
This is a possible approach:

1\. Install a Scheme interpreter (Gambit Scheme, Chicken Scheme, DrRacket ...)
and a editor that is able to highlight Scheme (Sublime Text 2, Notepad++ ...).

2\. Read a chapter of the book, do the exercises. If in trouble, Google is
your friend.

3\. Repeat 2 til the end of the book.

Optionally, you can watch the video lectures of the authors (recorded in the
'80s). Another good source - video lectures for a SICP course by Brian Harvey
(available on Youtube).

As a side note, you can view a Postscript (.ps) file using GSview:

<http://pages.cs.wisc.edu/~ghost/gsview/>

------
geofft
6.001 is now offered in compressed form over the January term as 6.S184 by MIT
students and alums, including a handful of former TAs:
<http://web.mit.edu/alexmv/6.001/>

As noted by the links on that page, the projects from the Spring 2007 offering
of 6.001 are available in PDF form, and the online tutor webapp (for problem
sets) is still running.

<http://sicp.ai.mit.edu/Spring-2007/projects/index.html>

<http://icampustutor.csail.mit.edu/6.001-public/>

Since it _is_ January, 6.S184 is about to be offered and lecture notes will
start going up on that site, but I'm not sure it's particularly worth
following along with the website if you're not attending in person (especially
because it's quite fast-paced). You're probably better off just following the
book on your own schedule.

------
jpau
A good alternative (apparently - I'm yet to go through it) to 6.001 is CS61A
from UC Berkeley. There are Webcasts, lecture materials and assignments
available for two types of CS61A - a slightly older (2008?) class taught using
Scheme/SICP, and a newer (present day) class taught using Python/SICP-based
textbook (available free online).

So CS61A may be for you, if you are looking for a more modern and/or complete
'downloadable' SICP course.

------
rartichoke
Watch the original video lectures from the 1980s on MIT's site:

[http://ocw.mit.edu/courses/electrical-engineering-and-
comput...](http://ocw.mit.edu/courses/electrical-engineering-and-computer-
science/6-001-structure-and-interpretation-of-computer-programs-
spring-2005/video-lectures/)

I feel like it's important to watch the above videos because the professors
are on a level that I have never seen in my entire life in terms of smartness
/ the way they can explain difficult concepts so elegantly.

Then after each lecture read up to that point in the book (it won't quite
match up with SICP edition 2, but that's ok, it's close enough) and make sure
to do the exercises.

It's pretty math heavy IMO so you will likely struggle and might not be able
to finish some of them.

This isn't a book that you can blow through in 3-4 days and come out a wizard.
It will take many months to go through the book properly.

------
ahmicro
I'm following a group called SICPBBC and you can find all information to get
you started here <https://groups.google.com/forum/?fromgroups=#!forum/sicpbbc>

------
brudgers
I prefer printed books. But for the record, SICP is available online here:

[http://mitpress.mit.edu/sicp/full-text/book/book-
Z-H-4.html#...](http://mitpress.mit.edu/sicp/full-text/book/book-
Z-H-4.html#%_toc_start)

