InfoCoBuild

The Structure and Interpretation of Computer Programs

The Structure and Interpretation of Computer Programs (ArsDigita University). Taught by Holly Yanco and John Pezaris, this course provides an introduction to programming and the power of abstraction, using Abelson and Sussman's classic textbook of the same name. Key concepts include: building abstractions, computational processes, higher-order procedures, compound data, data abstractions, controlling interactions, generic operations, self-describing data, message passing, streams and infinite data structures, meta-linguistic abstraction, interpretation of programming languages, machine model, compilation, and embedded languages. (from ADUni.org)

Lecture 01 - Introduction to Scheme, Substitution Model
Lecture 02 - Orders of Growth, Recursion/Iteration
Lecture 03 - Higher-Order Procedures
Lecture 04 - Compound Data
Lecture 05 - Aggregate Data
Lecture 06 - Henderson Picture Language
Lecture 07 - Symbolic Data
Lecture 08 - Data Structures
Lecture 09 - Multiple Representations of Data
Lecture 10 - Generic Operators
Lecture 11 - State
Lecture 12 - Metacircular Evaluator
Lecture 13 - Recitation - Metacircular Evaluator
Lecture 14 - More on the Metacircular Evaluator
Lecture 15 - Recitation - Streams, Tables, Memorization
Lecture 16 - Register Machines I
Lecture 17 - Register Machines II
Lecture 18 - EC Evaluation
Lecture 19 - Compilation

References
The Structure and Interpretation of Computer Programs
Instructors: Holly Yanco and John Pezaris. Course Description. Lecture and Course Files. Student Evaluations. An introduction to programming and the power of abstraction.