| L1 |
Introduction to Computation |
|
| R1 |
Introduction to Computation (cont.) |
|
| L2 |
Scheme Basics |
Lectures 1-2 exercises due |
| R2 |
Scheme Basics (cont.) |
Project 0 due |
| L3 |
Procedures, Processes, and Recursion |
Problem set 1 due |
| R3 |
Procedures, Processes, and Recursion (cont.) |
|
| L4 |
Orders of Growth and Kinds of Procedures |
Lectures 3-4 exercises due |
| R4 |
Orders of Growth and Kinds of Procedures (cont.) |
|
| L5 |
Data Abstraction |
Problem set 2 due |
| R5 |
Data Abstraction (cont.) |
|
| L6 |
Higher Order Procedures |
Lectures 5-6 exercises due |
| R6 |
Higher Order Procedures (cont.) |
Project 1 due |
| R7 |
Higher Order Procedures (cont.) |
Problem set 3 due |
| L7 |
Good Programming Practices |
|
| R8 |
Good Programming Practices (cont.) |
|
| L8 |
Using Higher Order Procedures |
|
| Q1 |
Quiz 1 |
|
| L9 |
Symbols and Quotation |
Lectures 7-9 exercises due |
| R9 |
Symbols and Quotation (cont.) |
|
| L10 |
Tagged Data |
Problem set 4 due |
| R10 |
Tagged Data (cont.) |
|
| L11 |
Advanced Data Types |
Lectures 10-11 exercises due |
| R11 |
Advanced Data Types (cont.) |
Project 2 due |
| L12 |
Data Mutation |
Problem set 5 due |
| R12 |
Data Mutation (cont.) |
|
| L13 |
Live Lecture: Trees, Graphs and Search |
Lectures 12-13 exercises due |
| R13 |
Trees, Graphs and Search (cont.) |
|
| L14 |
Live Lecture: Graphs and Search |
Problem set 6 due |
| R14 |
Graphs and Search (cont.) |
|
| L15 |
Environment Model |
Lectures 14-15 exercises due |
| R15 |
Environment Model (cont.) |
Project 3 due |
| L16 |
Object Oriented Programming I |
Problem set 7 due |
| R16 |
Object Oriented Programming I (cont.) |
|
| L17 |
Object Oriented Programming II |
Lectures 16-17 exercises due |
| R17 |
Object Oriented Programming II (cont.) |
|
| L18 |
Object Oriented Programming III |
Problem set 8 due |
| R18 |
Object Oriented Programming III (cont.) |
|
| L19 |
Interpretation |
|
| R19 |
Interpretation (cont.) |
Project 4 due |
| Q2 |
Quiz 2 |
|
| L20 |
The Meta-circular Evaluator |
Lectures 18-20 exercises due |
| R20 |
The Meta-circular Evaluator (cont.) |
|
| L21 |
Lazy Evaluation |
Problem set 9 due |
| R21 |
Lazy Evaluation (cont.) |
|
| L22 |
Asynchronous Computing |
Lectures 21-22 exercises due |
| R22 |
Asynchronous Computing (cont.) |
|
| L23 |
Universal Machines |
Problem set 10 due |
| R23 |
Universal Machines (cont.) |
|
| L24 |
Live Lecture: Geometric Folding Algorithms: Origami, Linkages, and Polyhedra (Guest lecture by Erik Demaine) |
Lectures 23-24 exercises due |
| R24 |
Geometric Folding Algorithms (cont.) |
Project 5 due |
| L25 |
Live Lecture: Peer-To-Peer Computing Research: A Fad? (Guest lecture by Frans Kaashoek) |
|
| R25 |
Peer-To-Peer Computing Research (cont.) |
|
| L26 |
Computability |
Lectures 25-26 exercises due |