Structure and Interpretation of Computer Programs

Interactive Version

Wizard Book n. Structure and Interpretation of Computer Programs, an excellent computer science text used in introductory courses at MIT. So called because of the wizard on the jacket. One of the bibles of the LISP/Scheme world.
Interactive SICP n. Interactive Structure and Interpretation of Computer Programs. Online version of SICP with a built-in scheme interpreter to allow readers to edit and run the code embedded in SICP. (Work in progress)

  1. Building Abstractions with Procedures
    1. The Elements of Programming
    2. Procedures and the Processes They Generate
    3. Formulating Abstractions with Higher-Order Procedures
  2. Building Abstractions with Data
    1. Introduction to Data Abstraction
    2. Hierarchical Data and the Closure Property
    3. Symbolic Data
    4. Multiple Representations for Abstract Data
    5. Systems with Generic Operations
  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
  4. Metalinguistic Abstraction
    1. The Metacircular Evaluator
    2. Variations on a Scheme – Lazy Evaluation
    3. Variations on a Scheme – Nondeterministic Computing
    4. Logic Programming
  5. Computing with Register Machines
    1. Designing Register Machines
    2. A Register-Machine Simulator
    3. Storage Allocation and Garbage Collection
    4. The Explicit-Control Evaluator
    5. Compilation

Creative Commons License
Interactive SICP is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Based on a work at https://mitpress.mit.edu/sicp/. Fork me on GitHub