Structure and Interpretation of Computer Programs

  1. Building Abstractions with Procedures
  2. Building Abstractions with Data
  3. Modularity, Objects and State
  4. Metalinguistic Abstraction
  5. Computing with Register Machines

Building Abstractions with Procedures