Interpretation of Computer Programs I



Structure and Interpretation of Computer Programs

2nd Edition

Harold Abelson and Gerald Jay Sussman with Julie Sussman

MIT Press (1996)

ISBN 0-262-01153-0



Chapter 1. Building Abstractions with Procedures

  1. The Elements of Programming

  2. Procedures and the Processes They Generate

  3. Formulating Abstractions with Higher-Order Procedures

Chapter 2. Building Abstractions with Data

  1. Introduction to Data Abstraction Hierarchical Data and the Closure Property

  2. Symbolic Data

  3. Multiple Representations for Abstract Data

  4. Systems with Generic Operations

Chapter 3. Modularity, Objects, and State

  1. Assignment and Local State

  2. The Environment Model of Evaluation

  3. Modeling with Mutable Data

  4. Concurrency: Time Is of the Essence

  5. Streams

Chapter 4. Metalinguistic Abstraction

  1. The Metacircular Evaluator

  2. Variations on a Scheme--Lazy Evaluation

  3. Variations on a Scheme--Nondeterministic Computing

  4. Logic Programming

Chapter 5.Computing with Register Machines

  1. Designing Register Machines

  2. A Register-Machine Simulator

  3. Storage Allocation and Garbage Collection

  4. Compilation

Consult the SICP site for further information including a complete web version of the text. The actual lectures based on the textbook are available on this site as digital video files.

Lectures from the academic year 2005/2006 in Dutch are available as video files here.