Table of Contents

Welcome

This wiki is created by the HN-reads-SICP group, for posting solutions and discussion on the SICP exercises.

Please add your own solutions or thoughts once you have done each exercise.

Exercises

Chapter 1. Building Abstractions with Procedures

1.1 The Elements of Programming

Exercise 1.1

Exercise 1.2

Exercise 1.3

Exercise 1.4

Exercise 1.5

Exercise 1.6

Exercise 1.7

Exercise 1.8

1.2 Procedures and the Processes They Generate

Exercise 1.9

Exercise 1.10

Exercise 1.11

Exercise 1.12

Exercise 1.13

Exercise 1.14

Exercise 1.15

Exercise 1.16

Exercise 1.17

Exercise 1.18

Exercise 1.19

Exercise 1.20

Exercise 1.21

Exercise 1.22

Exercise 1.23

Exercise 1.24

Exercise 1.25

Exercise 1.26

Exercise 1.27

Exercise 1.28

1.3 Formulating Abstractions with Higher-Order Procedures

Exercise 1.29

Exercise 1.30

Exercise 1.31

Exercise 1.32

Exercise 1.33

Exercise 1.34

Exercise 1.35

Exercise 1.36

Exercise 1.37

Exercise 1.38

Exercise 1.39

Exercise 1.40

Exercise 1.41

Exercise 1.42

Exercise 1.43

Exercise 1.44

Exercise 1.45

Exercise 1.46

Chapter 2. Building Abstraction with Data

2.1 Introduction to Data Abstraction

Exercise 2.1

Exercise 2.2

Exercise 2.3

Exercise 2.4

Exercise 2.5

Exercise 2.6

Exercise 2.7

Exercise 2.8

Exercise 2.9

Exercise 2.10

Exercise 2.11

Exercise 2.12

Exercise 2.13

Exercise 2.14

Exercise 2.15

Exercise 2.16

2.2 Hierarchical Data and the Closure Property

2.3 Symbolic Data

2.4 Multiple Representations for Abstract Data

2.5 Systems with Generic Operations