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
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:
7 comments:
BIll, this is a noble endeavor indeed. SICP is arguably the best (heh, quoting other people here) book of its kind PLUS it's free.
Really looking forward to following your progress and will make an attempt to mirror it at my end. My last foray into sicp was last year.
Aruni RC,
Great! I'm glad to have you following along. I'll try to have the first set of exercises up soon. I would have finished them tonight, but unfortunately I'm doing PC repair. I'm burning a new Ubuntu install disk on my wife's PC right now. :(
lol. that's alright. Last time gave up on Ubuntu due to EC201 overload - FETs in college. xP the more the merrier.
I had some Scheme introduction on my first semester at college.ohh that was the nightmare of all the students hehe
Ill be following ur progress and give a second chance to Scheme :P
cheers from Brasil
I believe it will be a rewarding journal. I found course videos of CS61A at Berkeley are great, too. The course uses SICP. You can found the the videos on iTunes U. Looking forward to your following posts.
William Sandoval,
I had Lisp in school, but it was just a small part of a course on programming languages, so we only spent a few weeks on it. I'm hoping to get much better at it this time around. :)
bryan,
Thanks for the alternate resource. There are a lot more lectures in the UCB set, so hopefully some of those will come in handy for sections of the book not covered by the MIT lectures. I'll add these to the resources section here.
Post a Comment