SICP Notes


These are my notes on Structure and Interpretation of Computer Programs.

To advance my proficiency in written English, I’ll be taking notes in English since April 25, 2020. Although previous works are done in Chinese, I feel no need to translate them, since it would be time-consuming and would have little to do with my comprehension of the book.


Chapter I   Building Abstractions with Procedures
Chapter II  Building Abstractions with Data
Chapter III Modularity, Objects, and State


1.1 The Elements of Programming
1.2 Procedures and the Processes They Generate
1.3 Formulating Abstractions with Higher-Order Procedures

2.1 Introduction to Data Abstraction
2.2 Hierarchical Data and the Closure Property
2.3 Symbolic Data
2.4 Multiple Representations for Abstract Data

3.1 Assignment and Local State
3.2 The Environment Model of Evaluation
3.3 Modeling with Mutable Data