6.001 Structure and Interpretation of Computer Programs
From Boozled
Contents |
Summary
This is not a beginner book in programming, it's an introductory Computer Science book. It uses Scheme to introduce the concepts and it goes at a fair pace. Its an easy read but if you are planning on doing the exercises it is hard work!
Entry Level
To tackle this course you would need some background in Mathematics and Programming. The book deals with quite a few topics relating to mathematical equations so if you are not comfortable with these then you may struggle. If you have some programming experience and are prepared to learn Scheme then this book is an excellent introduction to Computer Science.
Prerequisites
You need to have access to a computer with Scheme. I am using DrScheme and it works quite well. I have also used GNU Guile.
Content
Chapter 1
Please note where I think important concepts are being introduced I mention these in the notes. I am also not trying to complete every exercise in order. If I get stuck or find any of the concepts hard I go back a few exercises and complete some more and try again. So far, (the first chapter), I'm finding everything fairly straight forward.
| Scheme | Haskell | Notes |
|---|---|---|
| Ex 1.7 | NULL | |
| Ex 1.13 | NULL | Mathematical, No Code! |
| Ex 1.16 | NULL | |
| Ex 1.19 | NULL | |
| Ex 1.22 | NULL | |
| Ex 1.30 | Ex 1.30 | |
| Ex 1.31 | Ex 1.31 | Important Concepts Introduced here |
| 1.32 | Partly done in Haskell in Ex 1.31 | |
| Ex 1.34 | ||
| Ex 1.35 | Easy, (in scheme), but Fundamental | |
| Ex 1.36 | Fundamental | |
| Ex 1.37 | Fundamental | |
| Ex 1.38 | Fundamental | |
| Ex 1.40 |
Chapter 2
| Scheme | Haskell |
|---|---|
Assessment
This is the kind of effort required by one individual to complete most of this book! The author wrote more than 10,000 lines of code and in Scheme and Lisp. If you know Scheme or Lisp and how expressive they are you will know why it's a lot of code.

