everything.study
6.001

Structure and Interpretation of Computer Programs

Undergraduate · Historical course

Spring 2005

Topics

  • Introduction to Computation
  • Introduction to Computation (cont.)
  • Scheme Basics
  • Scheme Basics (cont.)
  • Procedures, Processes, and Recursion
  • Procedures, Processes, and Recursion (cont.)
  • Orders of Growth and Kinds of Procedures
  • Orders of Growth and Kinds of Procedures (cont.)
  • Data Abstraction
  • Data Abstraction (cont.)
  • Higher Order Procedures
  • Higher Order Procedures (cont.)
  • Good Programming Practices
  • Good Programming Practices (cont.)
  • Using Higher Order Procedures
  • Symbols and Quotation
  • Symbols and Quotation (cont.)
  • Tagged Data
  • Tagged Data (cont.)
  • Advanced Data Types
  • Advanced Data Types (cont.)
  • Data Mutation
  • Data Mutation (cont.)
  • Live Lecture : Trees, Graphs and Search
  • Trees, Graphs and Search (cont.)
  • Live Lecture : Graphs and Search
  • Graphs and Search (cont.)
  • Environment Model
  • Environment Model (cont.)
  • Object Oriented Programming I
  • Object Oriented Programming I (cont.)
  • Object Oriented Programming II
  • Object Oriented Programming II (cont.)
  • Object Oriented Programming III
  • Object Oriented Programming III (cont.)
  • Interpretation
  • Interpretation (cont.)
  • The Meta-circular Evaluator
  • The Meta-circular Evaluator (cont.)
  • Lazy Evaluation
  • Lazy Evaluation (cont.)
  • Asynchronous Computing
  • Asynchronous Computing (cont.)
  • Universal Machines
  • Universal Machines (cont.)
  • Live Lecture : Geometric Folding Algorithms: Origami, Linkages, and Polyhedra (Guest lecture by Erik Demaine)
  • Geometric Folding Algorithms (cont.)
  • Live Lecture : Peer-To-Peer Computing Research: A Fad? (Guest lecture by Frans Kaashoek)
  • Peer-To-Peer Computing Research (cont.)
  • Computability

Readings

  • This section provides the assigned readings for the course. All readings are from the course textbook:
    Listed reading
  • Listed reading
  • LEC #: L2 · TOPICS: Scheme Basics · READINGS: Section 1.1
    Reading assignment
  • LEC #: L3 · TOPICS: Procedures, Processes, and Recursion · READINGS: Section 1.2
    Reading assignment
  • LEC #: L4 · TOPICS: Orders of Growth and Kinds of Procedures · READINGS: Section 1.2
    Reading assignment
  • LEC #: L5 · TOPICS: Data Abstraction · READINGS: Section 2.1
    Reading assignment
  • LEC #: L6 · TOPICS: Higher Order Procedures · READINGS: Section 1.3
    Reading assignment
  • LEC #: L8 · TOPICS: Using Higher Order Procedures · READINGS: Section 1.3, Section 2.2.4
    Reading assignment
  • LEC #: L9 · TOPICS: Symbols and Quotation · READINGS: Section 2.3
    Reading assignment
  • LEC #: L10 · TOPICS: Tagged Data · READINGS: Section 2.4
    Reading assignment
  • LEC #: L12 · TOPICS: Data Mutation · READINGS: Section 3.3.1-3.3.3
    Reading assignment
  • LEC #: L15 · TOPICS: Environment Model · READINGS: Section 3.1, Section 3.2
    Reading assignment
  • LEC #: L20 · TOPICS: The Meta-circular Evaluator · READINGS: Section 4.1
    Reading assignment
  • LEC #: L21 · TOPICS: Lazy Evaluation · READINGS: Section 4.2, Section 3.5
    Reading assignment
  • LEC #: L22 · TOPICS: Asynchronous Computing · READINGS: Section 3.4
    Reading assignment
Sources