Solutions Index

For reference, the HTML version of the book has a list of links to all of the exercises from the book.

Chapter 1

Building Abstractions with Procedures

1.1 – The Elements of Programming
1.01 1.02 1.03 1.04 1.05 1.06 1.07 1.08
1.2 – Procedures and the Processes They Generate
1.09 1.10 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.18
1.19 1.20 1.21 1.22 1.23 1.24 1.25 1.26 1.27 1.28
1.3 – Formulating Abstractions with Higher-Order Procedures
1.29 1.30 1.31 1.32 1.33 1.34 1.35 1.36 1.37 1.38
1.39 1.40 1.41 1.42 1.43 1.44 1.45 1.46

Chapter 2

Building Abstractions with Data

2.1 – Introduction to Data Abstraction
2.01 2.02 2.03 2.04 2.05 2.06 2.07 2.08 2.09 2.10
2.11 2.12 2.13 2.14 2.15 2.16
2.2 – Hierarchical Data and the Closure Property
2.17 2.18 2.19 2.20 2.21 2.22 2.23 2.24 2.25 2.26
2.27 2.28 2.29 2.30 2.31 2.32 2.33 2.34 2.35 2.36
2.37 2.38 2.39 2.40 2.41 2.42 2.43 2.44 2.45 2.46
2.47 2.48 2.49 2.50 2.51 2.52
2.3 – Symbolic Data
2.53 2.54 2.55 2.56 2.57 2.58 2.59 2.60 2.61 2.62
2.63 2.64 2.65 2.66 2.67 2.68 2.69 2.70 2.71 2.72
2.4 – Multiple Representations for Abstract Data
2.73 2.74 2.75 2.76
2.5 – Systems with Generic Operations
2.77 2.78 2.79 2.80 2.81 2.82 2.83 2.84 2.85 2.86
2.87 2.88 2.89 2.90 2.91 2.92 2.93 2.94 2.95 2.96
2.97

Chapter 3

Modularity, Objects, and State

3.1 – Assignment and Local State
3.01 3.02 3.03 3.04 3.05 3.06 3.07 3.08
3.2 – The Environment Model of Evaluation
3.09 3.10 3.11
3.3 – Modeling with Mutable Data
3.12 3.13 3.14 3.15 3.16 3.17 3.18 3.19 3.20 3.21
3.22 3.23 3.24 3.25 3.26 3.27 3.28 3.29 3.30 3.31
3.32 3.33 3.34 3.35 3.36 3.37
3.4 – Concurrency: Time Is of the Essence
3.38 3.39 3.40 3.41 3.42 3.43 3.44 3.45 3.46 3.47
3.48 3.49
3.5 – Streams
3.50 3.51 3.52 3.53 3.54 3.55 3.56 3.57 3.58 3.59
3.60 3.61 3.62 3.63 3.64 3.65 3.66 3.67 3.68 3.69
3.70 3.71 3.72 3.73 3.74 3.75 3.76 3.77 3.78 3.79
3.80 3.81 3.82

Chapter 4

Metalinguistic Abstraction

4.1 – The Metacircular Evaluator
4.01 4.02 4.03 4.04 4.05 4.06 4.07 4.08 4.09 4.10
4.11 4.12 4.13 4.14 4.15 4.16 4.17 4.18 4.19 4.20
4.21 4.22 4.23 4.24
4.2 – Variations on a Scheme – Lazy Evaluation
4.25 4.26 4.27 4.28 4.29 4.30 4.31 4.32 4.33 4.34
4.3 – Variations on a Scheme – Nondeterministic Computing
4.35 4.36 4.37 4.38 4.39 4.40 4.41 4.42 4.43 4.44
4.45 4.46 4.47 4.48 4.49 4.50 4.51 4.52 4.53 4.54
4.4 – Logic Programming
4.55 4.56 4.57 4.58 4.59 4.60 4.61 4.62 4.63 4.64
4.65 4.66 4.67 4.68 4.69 4.70 4.71 4.72 4.73 4.74
4.75 4.76 4.77 4.78 4.79

Chapter 5

Computing with Register Machines

5.1 – Designing Register Machines
5.01 5.02 5.03 5.04 5.05 5.06
5.2 – A Register-Machine Simulator
5.07 5.08 5.09 5.10 5.11 5.12 5.13 5.14 5.15 5.16
5.17 5.18 5.19
5.3 – Storage Allocation and Garbage Collection
5.20 5.21 5.22
5.4 – The Explicit-Control Evaluator
5.23 5.24 5.25 5.26 5.27 5.28 5.29 5.30
5.5 – Compilation
5.31 5.32 5.33 5.34 5.35 5.36 5.37 5.38 5.39 5.40
5.41 5.42 5.43 5.44 5.45 5.46 5.47 5.48 5.49 5.50
5.51 5.52

† – As you can see I haven’t done all of the exercises either due to lack of ability, time or patience. I’d love to hear from you if you have done those exercises though.

 

Leave a comment