This section contains the online lectures for the course, which are expected to be read by students in preparation for recitation sessions. Each lecture contains a set of exercises which students must complete by a given date. Please see the calendar for more information on the dates the exercises are due.
Lec # | Topics |
---|---|
L1 | Introduction to Computation (PDF - 2.1 MB) |
L2 |
Scheme Basics (PDF - 1.5 MB) A Story about using Lisp in a Startup Company (PDF) |
L3 | Procedures, Processes, and Recursion (PDF - 2.1 MB) |
L4 | Orders of Growth and Kinds of Procedures (PDF - 1.7 MB) |
L5 | Data Abstraction (PDF - 2.1 MB) |
L6 | Higher Order Procedures (PDF - 2.1 MB) |
L7 | Good Programming Practices (PDF - 1.6 MB) |
L8 | Using Higher Order Procedures (PDF - 1.6 MB) |
L9 | Symbols and Quotation (PDF - 1.4 MB) |
L10 | Tagged Data (PDF - 2.2 MB) |
L11 | Advanced Data Types (PDF - 2.2 MB) |
L12 | Data Mutation (PDF - 1.7 MB) |
L13 | Trees, Graphs and Search (PDF - 2.2 MB) |
L14 | Graphs and Search |
L15 | Environment Model (PDF 1 of 2 - 1.6 MB) (PDF 2 of 2 - 2.2 MB) |
L16 | Object Oriented Programming I (PDF - 2.3 MB) |
L17 | Object Oriented Programming II (PDF - 1.7 MB) |
L18 | Object Oriented Programming III (PDF - 2.0 MB) |
L19 |
Interpretation (PDF 1 of 2 - 2.5 MB) (PDF 2 of 2 - 1.3 MB) Interpreter Code (PDF) |
L20 |
The Meta-circular Evaluator (PDF - 2.6 MB) Evaluator Code (PDF) |
L21 |
Lazy Evaluation (PDF 1 of 2 - 2.0 MB) (PDF 2 of 2 - 1.2 MB) Lazy Evaluator Code (PDF) |
L22 | Asynchronous Computing (PDF - 1.2 MB) |
L23 | Universal Machines (PDF) |
L24 | Geometric Folding Algorithms: Origami, Linkages, and Polyhedra |
L25 | Peer-To-Peer Computing Research: A Fad? |
L26 | Computability (PDF) |