Independent academic archive · Rights remain with the original publishers · Streamed via YouTube
Independent academic archive · Rights remain with the original publishers · Streamed via YouTube

Overview and Introduction to Lisp: Procedural & Symbolic Abstraction
1:12:56Procedures and Processes: The Substitution Model, Recursion & Iteration
58:22Data Abstraction
46:43Orders of Growth and Kinds of Procedures
27:06Procedures and Processes
34:47Scheme Basics: Lambdas and Procedural Abstractions
17:50Logic Programming, Part 2: MIT 6.001 Structure and Interpretation (1986)
1:08:45Introduction to Computation: SICP 6.001 (2004)
32:30Metacircular Evaluator, Part 1 (1986)
1:24:38Streams, Part 2 (1986)
1:03:02A classic MIT 6.001 lecture exploring the concept of streams, their implementation, and their role in managing complex data sequences and concurrency.
Metacircular Evaluator, Part 1 (1986)
Final session in this series
Professor of Electrical Engineering and Computer Science
MIT Professor and co-author of SICP and Structure and Interpretation of Classical Mechanics, co-inventor of the Scheme programming language.
SICP's rigorous approach to program construction and reasoning, particularly its emphasis on referential transparency and formal semantics, naturally bridges to formal methods and type theory for program correctness.
SICP's deep dive into language design and powerful abstraction mechanisms aligns with Hanrahan's discussion on the critical role of effective notation in shaping computational thought and expressiveness.
SICP provides a foundational understanding of programming language design, interpretation, and compilation, exploring concepts like lambda calculus, recursion, and abstraction that underpin modern language theory.