This repository contains code and solutions to selected exercises from the masterpiece "Structure and Interpretation of Computer Programs", 2nd Edition, by Harold Abelson and Gerald Jay Sussman with Julie Sussman (MIT course).
SICP is a computing textbook, published by MIT in two editions (1985, 1995) and noted for it’s ambitious approach to instruction in the logic of computer programming.
Those who hate SICP think it doesn’t deliver enough tips and tricks for the amount of time it takes to read. But if you’re like me, you’re not looking for one more trick, rather you’re looking for a way of synthesizing what you already know, and building a rich framework onto which you can add new learning over a career. That’s what SICP has done for me. I read a draft version of the book around 1982, when I was in grad school, and it changed the way I think about my profession. If you’re a thoughtful computer scientist (or want to be one), it will change your life too.
– Peter Norvig
The full original text of the book can be found here.
For better reading experience, you can find a prettier edition here.
Most of the solutions done here is tested with DrRacket.
Install Racket, then run commands for installing rackunit and sicp packages:
raco pkg install rackunit
raco pkg install sicp
You can find all the code from the book here.
-
MIT These video lectures by Hal Abelson and Gerald Jay Sussman are a complete presentation of the course, given in July 1986 for Hewlett-Packard employees, and professionally produced by Hewlett-Packard Television.
-
Brian Harvey’s CS 61A These video lectures by Brian Harvey for the 61A course at Berkeley are more refined and better targeted at new students than are the MIT lectures.