GHSWiki

Gothenburg Hackerspace Wiki

User Tools

Site Tools


projects:members:schjetne:sicp-exercises

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


SICP

Introduction

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]
Targets:
  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
Bugs:
  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 help getting started with Emacs, try the Beginner's Guide to Emacs from Mastering Emacs

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

IRC channel

To get help with specific problems or to discuss the topics of the book at any time, come to #ghs-sicp on Freenode

Progress checks

We meet Thursdays at Vegagatan 1 to compare our progress and discuss problems and topics in person.

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.txt · Last modified: 2014/03/14 10:17 by schjetne