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
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.