|
Structure and Interpretation of Computer Programs
At MIT, the introductory course to computer science is named 6.001 Structure and Interpretation of Computer Programs. The course is about, well, the structure of computer programs, and how we can interpret these structures; the latter might be, but not necessarily, imply running the program.
We have obtained 20 lectures of this material on video. We will screen these lectures at the Computer Science Cinema for three reasons
- Maintain our high ambitions
- Experience life as a student at MIT
- Master powerful programming abstractions
We believe that the material covered by this course, the Structure and Interpretation of Computer Programs, is at the core of Computer Science.
This site is dedicated to the book. On the site you can find the whole book as HTML, and a wealth of other material.
These lectures follow the first edition (1985) of Structure and Interpretation of Computer Programs. Many of the programs discussed were rewritten for the second edition (1996) of the book, and new material was added. These video lectures will still be useful for students using the second edition, since the overall themes of the course and order of presentation are unchanged.
| Tuesday 25 October 2005 |
Introduction to Lisp, text 1.1 |
| Tuesday 1 November 2005 |
Procedures and Processes: Substitution model, text 1.2 |
| Tuesday 8 November 2005 |
High-order Procedures, text 1.3 |
| Tuesday 15 November 2005 |
Compound Data, text 2.1 |
| Tuesday 22 November 2005 |
Henderson Escher Example |
| Tuesday 29 November 2005 |
Symbolic Differentiation: Quotation, text 2.2 |
| December 2005 |
Exam and Christmas recess |
For the spring semester, we don't know yet at what time we will screen lectures, but as soon as we know the table will be updated. The following is a tentative plan.
| Week 2, 2006 |
Pattern-Matching: Rule based Substitution |
| Week 3, 2006 |
Generic Operators |
| Week 4, 2006 |
Assignment, State & Side-effects, text section 3.1 & 3.2 |
| Week 5, 2006 |
Computational Objects, text section 3.3 |
| Week 6, 2006 |
Streams I, text section 3.4 |
| Week 7, 2006 |
Streams II, text section 3.4 |
| Week 8, 2006 |
Metacircular Evaluator I, text section 4.1 |
| Week 9, 2006 |
Metacircular Evaluator II, text section 4.1 |
| Week 10, 2006 |
Logic Programming I, text section 4.4 & 4.5 |
| Week 11, 2006 |
Logic Programming II, text section 4.4 & 4.5 |
| Week 12, 2006 |
Register Machines, text section 5.1 |
| Week 13, 2006 |
Explicit-control Evaluator, text section 5.2 |
| Week 14, 2006 |
Compilation, text section 5.3 |
| Week 15, 2006 |
Storage Allocation & Garbage Collection, text section 5.4 |
|