Gothenburg Hackerspace Wiki

User Tools

Site Tools


This is an old revision of the document!

Structure and Interpretation of Computer Programs by Harold Abelson and Gerald Jay Sussman1)



Structure and Interpretation of Computer Programs is an introductory textbook for computer science written by MIT AI Lab professors Harold Abelson and Gerald Jay Sussman. It's a great way for beginners in programming to get a solid theoretical foundation.

The book teaches using the Scheme programming language, a dialect of Lisp introduced in 1975. Despite its age, it contains many powerful features such as tail-call optimization and first-class continuations. It has been very influential in the development of many of the more contemporary programming languages, such as Common Lisp, Clojure, JavaScript, Ruby and Haskell. It's a small language that's easy to learn, and the experiences learned should be readily applicable to other languages, whether functional or imperative.

This project aims to let us study the text and do the exercises as a group, benefiting from our different experiences and approaches to problem solving, as well as provide motivation to get through all the way to the end.

Get the book

View the lectures

Download utility

This makefile automates the process of downloading all or individual video files and their subtitles:

Usage: make [target]
  all              Display this information
  videos           Download all video files
  subtitles        Download all subtitle files
  [1-10][a|b].mp4  Download given video file
  [1-10][a|b].srt  Download given subtitle file
  MPEG-4 is a patent-encumbered format. Please ask
  your legislators to oppose software patents.

  Resuming partially downloaded files not supported.

Install a Scheme environment

GNU Guile is a modern, efficient implementation of the Scheme programming language. It is included in most if not all distributions of GNU/Linux. Source and release tarballs are available at the GNU Guile project page.

Emacs users may benefit from the packages Geiser and Paredit.

If you need further assistance setting up your environment, please don't hesitate to come to the exercise sessions and ask for help.

Exercise sessions

Exercise sessions will be held regularly at Vegagatan 1 so questions about the previously read chapter can be discussed and the exercises can be solved collaboratively.

# Time Required reading Planned exercises
1 14-02-20 18:00 Section 1.1 Ex 1.1 through 1.8
2 14-02-27 18:00 Recap of previous session
1) Structure and Interpretation of Computer Programs by Harold Abelson and Gerald Jay Sussman is licensed under a Creative Commons Attribution-NonCommercial 3.0 License.
2) Structure and Interpretation of Computer video lectures are licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License.
You could leave a comment if you were logged in.
projects/members/schjetne/sicp-exercises.1392995764.txt.gz · Last modified: 2014/02/21 16:16 by schjetne