1

6.001 Structure and Interpretation of Computer Programs (Spring 2005, MIT OCW). Instructors: Prof. Eric Grimson, Prof. Peter Szolovits, and Prof. Trevor Darrell.

FREE
This course includes
Hours of videos

555 years, 6 months

Units & Quizzes

20

Unlimited Lifetime access
Access on mobile app
Certificate of Completion

This course introduces students to the principles of computation. Upon completion of 6.001, students should be able to explain and apply the basic methods from programming languages to analyze computational systems, and to generate computational solutions to abstract problems. Substantial weekly programming assignments are an integral part of the course. It offers an online version of the textbook for the course, Structure and Interpretation of Computer Programs, 2nd ed., by Harold Abelson and Gerald Jay Sussman.

These twenty 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. (from ocw.mit.edu)

Course Currilcum

  • Lecture 01A – Overview and Introduction to Lisp Unlimited
  • Lecture 01B – Procedures and Processes; Substitution Model Unlimited
  • Lecture 02A – Higher-order Procedures Unlimited
  • Lecture 02B – Compound Data Unlimited
  • Lecture 03A – Henderson Escher Example Unlimited
  • Lecture 03B – Symbolic Differentiation; Quotation Unlimited
  • Lecture 04A – Pattern Matching and Rule-based Substitution Unlimited
  • Lecture 04B – Generic Operators Unlimited
  • Lecture 05A – Assignment, State, and Side-effects Unlimited
  • Lecture 05B – Computational Objects Unlimited
  • Lecture 06A – Streams, Part 1 Unlimited
  • Lecture 06B – Streams, Part 2 Unlimited
  • Lecture 07A – Metacircular Evaluator, Part 1 Unlimited
  • Lecture 07B – Metacircular Evaluator, Part 2 Unlimited
  • Lecture 08A – Logic Programming, Part 1 Unlimited
  • Lecture 08B – Logic Programming, Part 2 Unlimited
  • Lecture 09A – Register Machines Unlimited
  • Lecture 09B – Explicit-control Evaluator Unlimited
  • Lecture 10A – Compilation Unlimited
  • Lecture 10B – Storage Allocation and Garbage Collection Unlimited