This section provides the assigned readings for the course. All readings are from the course textbook:
Abelson, Harold, Gerald Jay Sussman, and Julie Sussman. Structure and Interpretation of Computer Programs. 2nd ed. Cambridge, MA: MIT Press, 1996. ISBN: 9780262011532.
The book is available online through the MIT Press Web site, and is also available in downloadable form.
MIT Press: Structure and Interpretation of Computer Programs (SICP) main site
Full text of SICP
Downloadable file (ZIP - 1.2 MB), courtesy of MIT Press and used with permission. (The ZIP file contains: 212 .gif files, 39 .html files, 2 .jpg files, 1 .css file.)
Course readings.
| LEC # |
TOPICS |
READINGS |
| L1 |
Introduction to Computation |
|
| L2 |
Scheme Basics |
Section 1.1 |
| L3 |
Procedures, Processes, and Recursion |
Section 1.2 |
| L4 |
Orders of Growth and Kinds of Procedures |
Section 1.2 |
| L5 |
Data Abstraction |
Section 2.1 |
| L6 |
Higher Order Procedures |
Section 1.3 |
| L7 |
Good Programming Practices |
|
| L8 |
Using Higher Order Procedures |
Section 1.3, Section 2.2.4 |
| L9 |
Symbols and Quotation |
Section 2.3 |
| L10 |
Tagged Data |
Section 2.4 |
| L11 |
Advanced Data Types |
|
| L12 |
Data Mutation |
Section 3.3.1-3.3.3 |
| L13 |
Trees, Graphs and Search |
|
| L14 |
Graphs and Search |
|
| L15 |
Environment Model |
Section 3.1, Section 3.2 |
| L16 |
Object Oriented Programming I |
|
| L17 |
Object Oriented Programming II |
|
| L18 |
Object Oriented Programming III |
|
| L19 |
Interpretation |
|
| L20 |
The Meta-circular Evaluator |
Section 4.1 |
| L21 |
Lazy Evaluation |
Section 4.2, Section 3.5 |
| L22 |
Asynchronous Computing |
Section 3.4 |
| L23 |
Universal Machines |
|
| L24 |
Geometric Folding Algorithms: Origami, Linkages, and Polyhedra |
|
| L25 |
Peer-To-Peer Computing Research: A Fad? |
|
| L26 |
Computability |
|