"Structure and Interpretation of Computer Programs" のテキストと動画

MIT Press のページ MIT Open Course Ware のページ

テキスト(青)と動画(緑)へのリンク(対応関係は目安です):
    1  Building Abstractions with Procedures
        1.1  The Elements of Programming
            1A: Overview and Introduction to Lisp
        1.2  Procedures and the Processes They Generate
            1B: Procedures and Processes; Substitution Model
        1.3  Formulating Abstractions with Higher-Order Procedures
            2A: Higher-order Procedures

    2  Building Abstractions with Data

        2.1  Introduction to Data Abstraction
            2B: Compound Data
        2.2  Hierarchical Data and the Closure Property
            3A: Henderson Escher Example
        2.3  Symbolic Data
            3B: Symbolic Differentiation; Quotation
        2.4  Multiple Representations for Abstract Data
        2.5  Systems with Generic Operations
            4B: Generic Operators

    3  Modularity, Objects, and State

        3.1  Assignment and Local State
            5A: Assignment, State, and Side-effects
        3.2  The Environment Model of Evaluation
        3.3  Modeling with Mutable Data
            5B: Computational Objects
        3.4  Concurrency: Time Is of the Essence
        3.5  Streams
            6A: Streams, Part 1
            6B: Streams, Part 2

    4  Metalinguistic Abstraction

        4.1  The Metacircular Evaluator
            7A: Metacircular Evaluator, Part 1
            7B: Metacircular Evaluator, Part 2
        4.2  Variations on a Scheme -- Lazy Evaluation
        4.3  Variations on a Scheme -- Nondeterministic Computing
        4.4  Logic Programming
            8A: Logic Programming, Part 1
            8B: Logic Programming, Part 2
            4A: Pattern Matching and Rule-based Substitution

    5  Computing with Register Machines

        5.1  Designing Register Machines
            9A: Register Machines
        5.2  A Register-Machine Simulator
        5.3  Storage Allocation and Garbage Collection
            10B: Storage Allocation and Garbage Collection
        5.4  The Explicit-Control Evaluator
            9B: Explicit-control Evaluator
        5.5  Compilation
            10A: Compilation