Legend
Color highlighting:
Unchanged █
Scheme █
Javascript █
Explanation █
Web-only █
SICP — Scheme/JS
Structure and Interpretation of Computer Programs — Comparison Edition
Foreword
to Structure and Interpretation of Computer Programs, 1984
Prefaces
to Structure and Interpretation of Computer Programs, 1996
&
1984
➤
▼
1 Building Abstractions with
Procedures
Functions
➤
▼
1.1 The Elements of Programming
1.1.1 Expressions
1.1.2 Naming and the Environment
1.1.3 Evaluating
Combinations
Operator Combinations
1.1.4 Compound
Procedures
Functions
1.1.5 The Substitution Model for
Procedure
Function
Application
1.1.6 Conditional Expressions and Predicates
1.1.7 Example: Square Roots by Newton's Method
1.1.8
Procedures
Functions
as Black-Box Abstractions
➤
▼
1.2
Procedures
Functions
and the Processes They Generate
1.2.1 Linear Recursion and Iteration
1.2.2 Tree Recursion
1.2.3 Orders of Growth
1.2.4 Exponentiation
1.2.5 Greatest Common Divisors
1.2.6 Example: Testing for Primality
➤
▼
1.3 Formulating Abstractions with Higher-Order
Procedures
Functions
1.3.1
Procedures
Functions
as Arguments
1.3.2
Constructing Procedures using Lambda
Constructing Functions using Lambda Expressions
1.3.3
Procedures
Functions
as General Methods
1.3.4
Procedures
Functions
as Returned Values
➤
▼
2 Building Abstractions with Data
➤
▼
2.1 Introduction to Data Abstraction
2.1.1 Example: Arithmetic Operations for Rational Numbers
2.1.2 Abstraction Barriers
2.1.3 What Is Meant by Data?
2.1.4 Extended Exercise: Interval Arithmetic
➤
▼
2.2 Hierarchical Data and the Closure Property
2.2.1 Representing Sequences
2.2.2 Hierarchical Structures
2.2.3 Sequences as Conventional Interfaces
2.2.4 Example: A Picture Language
➤
▼
2.3 Symbolic Data
2.3.1
Quotation
Strings
2.3.2 Example: Symbolic Differentiation
2.3.3 Example: Representing Sets
2.3.4 Example: Huffman Encoding Trees
➤
▼
2.4 Multiple Representations for Abstract Data
2.4.1 Representations for Complex Numbers
2.4.2 Tagged data
2.4.3 Data-Directed Programming and Additivity
➤
▼
2.5 Systems with Generic Operations
2.5.1 Generic Arithmetic Operations
2.5.2 Combining Data of Different Types
2.5.3 Example: Symbolic Algebra
References
About the SICPy Project
Permalink copied!
< Previous
Next >