Git Product home page Git Product logo

sicp-code's Introduction

Code in the 1986's MIT SICP lectures

Lectures by Gerry Sussman and Hal Abelson


Motivation

MIT lectures on Structure and Interpretation of Computer Programs, as taught in 1986 by Gerald Sussman and Harold Abelson, are available online in youtube and MIT OCW's website. The videos are available in 240p/360p: very poor quality for visualizing the code in the slides. In addition to that, the camera won't fixate on the board for long, making it extremely difficult to follow.

This is a digitized version of the code featured in the lectures.

This project's intent is to make the lectures' code and content readable (unlike the slide below) and available in digital format.

Unreadable Slide


Files Syntax and Notation

I tried to maintain consistency of notation, comments and indentation throughout the lectures. Much of the original indentation on the slides was maintained, except for when I was able to improve readability by changing it. Lecture breaks are also noted.

Every SLIDE, TERMINAL or BOARD content is marked with the time of appearance. E.g.

;# SLIDE 0:00:00
    ... slide content
;# END SLIDE

Notes and Observations

  • I have added comments and remarks throughout the code to help comprehension.
  • Though all files have extension .scm, their content represent a literal transcription of the slides, some of which isn't code. They're expected to fail to compile in all Scheme interpreters.
  • I have fixed the code on a few, rare occasions. In all of them I've noted the correction using a colon followed by an exclamation mark. Notice that ';!' was also used, once or twice, in the lecture slides.

A slide might have been ommited because

  • it's clearly readable
  • it's not code
  • its content isn't "textable"

Feel free to create an issue whenever you spot errors in the transcription.

Things left to do:

  • Standardize syntax and style across the transcription files.

Useful Links

sicp-code's People

Contributors

felipap avatar f03lipe avatar bheavner avatar coder3431 avatar akiracadet avatar mitjabezensek avatar pinkfloyda avatar bpceee avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.