[go: up one dir, main page]

Skip to content

nebhrajani-a/sicp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Structure and Interpretation of Computer Programs Notes

Quick links:


Structure and Interpretation of Computer Programs, also called the Wizard Book, is a book based on an introductory computer science course taught at MIT from 1981 to 2007.

Lisp is worth learning for the profound enlightenment experience you will have when you finally get it; that experience will make you a better programmer for the rest of your days, even if you never actually use Lisp itself a lot.

– Eric Raymond

Don’t take Eric’s word for it — study the book yourself! This repository provides notes based on the video lectures that you will find useful if:

  • You want SICP ‘distilled’ in a small file.
  • You want to see how old MIT Scheme code is implemented in Racket’s #lang sicp.
  • You’re following the video lectures, and of course, if:
  • You came across this repository late at night and you have nothing better to do.

Notes

These notes are based on the 1986 presentation of 6.001 (SICP), produced by Hewlett-Packard. The notes are generated using Emacs’ Org mode, are written in literate programming style, and use Racket’s #lang sicp. In some (very few) cases, this causes the code in these notes to differ from the equivalent code in MIT-Scheme. These instances are pointed out in the notes.


Metadata

On Literate Programming

SICP and its video lectures are particularly well-suited to literate programming, given the fact that SICP’s exercises and example programs are highly inter-dependent. Often, later lectures require small procedures defined in past lectures. All-in-all, this makes writing code while following SICP a tough job, since yank-pasting dependencies every time you need them is tiring, and a bug fix will not propagate to all the pastes. This is where literate programming becomes useful, since it maintains only one copy of each code block, and changes can be forward-propagated by re-evaluation.

MIT’s SICP Content

Videos

The videos the notes are based on are licensed by MIT under CC-BY-SA 3.0. The citation of the course on MIT OCW is:

Eric Grimson, Peter Szolovits, and Trevor Darrell. 6.001 Structure and Interpretation of Computer Programs. Spring 2005. Massachusetts Institute of Technology: MIT OpenCourseWare, https://ocw.mit.edu. License: Creative Commons BY-NC-SA.

License

All material in this repository that is my creative property is licensed under CC-BY-NC-SA 4.0.

About

Racket implementation and notes for SICP's video lectures.

Topics

Resources

Stars

Watchers

Forks

Languages