To make things even more interesting (and to keep myself motivated), I've decided to follow the MIT OpenCourseWare program that uses the book and blog about my progress.
The resources I plan to use include the following:
- The free online edition of Structure and Interpretation of Computer Programs.
- Video Lectures from MIT OpenCourseWare.
- Reading assignments from MIT OpenCourseWare.
- MIT Scheme, PLT Scheme, and the SISC Online REPL Scheme interpreter.
- The MIT course lecture notes.
- The MIT Scheme User's Manual.
- Stack Overflow (In particular, I've added lisp, scheme, and sicp to my list of interesting tags. I'll be posting any questions I have, and answering questions if I'm able.)
- CS61A Lectures from UC Berkeley. (Also available on iTunes U.)
- The Schematics Scheme Cookbook.
My personal goals for the program are:
- To learn the Scheme programming language (a dialect of Lisp).
- To read the entire SICP book.
- To watch all of the MIT video lectures and post my transcribed notes here on my blog.
- To do the exercises in each chapter of the book, and the projects listed in the MIT course syllabus. Solutions to exercises and projects (with explanations of both, of course) will also be posted here.
Lecture Notes
Lecture 1A - Overview and Introduction to Lisp
Lecture 1B - Procedures and Processes: Substitution Model
Lecture 2A - Higher-order Procedures
Lecture 2B - Compound Data
Lecture 3A - Henderson Escher Example
Exercises
1.1 - 1.5
1.6 - 1.8
1.9 - 1.10
1.11, 1.12, 1.13
1.14, 1.15
1.16, 1.17, 1.18, 1.19
1.20
1.21, 1.22, 1.23, 1.24, 1.25, 1.26, 1.27, 1.28
1.29, 1.30, 1.31, 1.32, 1.33
1.34
1.35, 1.36, 1.37, 1.38, 1.39
1.40, 1.41, 1.42, 1.43, 1.44, 1.45, 1.46
2.1
2.2, 2.3
2.4, 2.5, 2.6
2.7, 2.8, 2.9, 2.10, 2.11 2.12, 2.13, 2.14, 2.15, 2.16
2.17, 2.18, 2.19, 2.20, 2.21, 2.22, 2.23
2.24, 2.25, 2.26, 2.27, 2.28, 2.29, 2.30, 2.31 , 2.32
2.33, 2.34, 2.35, 2.36, 2.37, 2.38, 2.39 2.40, 2.41, 2.42, 2.43
2.44, 2.45, 2.46, 2.47, 2.48, 2.49, 2.50, 2.51, 2.52
2.53, 2.54, 2.55, 2.56, 2.57, 2.58, 2.59, 2.60, 2.61, 2.62, 2.63 - 2.65, 2.66
Other Resources:
I'm not the first blogger to attack SICP, and I probably won't be the last. If you're looking for help with a problem that I haven't gotten to yet (or if you just want to check my answers), here's a list of a few other places to find SICP solutions: