Structure and Interpretation of Computer Programs

Structure and Interpretation of Computer Programs (SICP), also known as the Wizard Book, is a textbook by Harold Abelson and Gerald Jay Sussman with Julie Sussman. It is widely regarded as one of the finests texts in computer science.

Splitter!

We treat Lisp (or LISP) and Scheme to be roughly interchangeable terms (Scheme is a subset/dialect of Lisp). All code is implemented in GNU Guile.

Video audio scribo

Mr Abelson and Mr Sussman also taught a series of lectures based on the book. Before tackling the heft of the text, I watched the lectures to ease myself in. My notes can be found here.

1a. 1b. 2a. 2b. 3a. 3b. 4a. 4b. 5a. 5b.
6a. 6b. 7a. 7b. 8a. 8b. 9a. 9b. 10a. 10b.

In fewer than ten keystrokes

Watch a lecture using the script below.

./sicp

#!/usr/bin/env python
import sys
import os
# Usage: sicp 1a

if len(sys.argv) == 2:
    os.system(
        f"vlc -q http://ia800204.us.archive.org/15/items/"
        f"MIT_Structure_of_Computer_Programs_1986/lec"
        f"{sys.argv[-1]}.mp4 &")
else:
    print("Please provide video number: 1a, 1b, 2a, 2b, ..., 10b.")

Notes on chapters

I am perusing the second edition, unofficial texinfo format 2.andresraba5.6. My notes and exercise solutions can be found here.

  1. Building Abstractions with Procedures