| Date | Reading | Topic | Code | Due | |
|---|---|---|---|---|---|
| 9/6 | 11.1-11.2 | The SLIM Architecture | |||
| 9/7 | Lab 1: Assembly language programming | ||||
| 9/8 | 11.3 | SLIM's instruction set | 060908.slim | ||
| 9/11 | 11.4 | Iteration in assembly language | 060911.slim | ||
| 9/12 | Lab 1 (continued) | ||||
| 9/13 | 11.5 | Recursion in assembly language | 060913.slim | ||
| 9/14 | Lab 1 (continued) | ||||
| 9/15 | Lab report writing workshop | HW 1 | |||
| 9/18 | More assembly language | 060918.slim | |||
| 9/19 | Lab 1 (concludes) | ||||
| 9/20 | 11.6 | Memory in Scheme: Vectors | 060920.scm | Lab 1 | |
| 9/21 | Lab 2: Optimally playing the etaoin game | ||||
| 9/22 | 12.1-12.2 | Revisiting tree recursion | 060922.scm | ||
| 9/25 | 12.3 | Memoization | |||
| 9/26 | Lab 2 (continued) | ||||
| 9/27 | 12.4 | Dynamic programming | 060927.scm | ||
| 9/28 | Lab 2 (continued) | ||||
| 9/29 | 12.5 | Comparing memoization and dynamic programming | 060929.scm | HW 2 | |
| 10/2 | Review; catch up | ||||
| 10/3 | Nobel Conference (no lab) | ||||
| 10/4 | Nobel Conference (no class) | ||||
| 10/5 | Test #1 (no lab) | ||||
| 10/6 | 10.1-10.2 | EBNF | |||
| 10/9 | 10.3 | Micro-Scheme | |||
| 10/10 | Lab 2 (concludes) | ||||
| 10/11 | More on Micro-Scheme | Lab 2 | |||
| 10/12 | Lab 3: Extending evaluators | ||||
| 10/13 | 10.4 | Global definitions: Mini-Scheme | |||
| 10/16 | 10.5 | Adding explanatory output | |||
| 10/17 | Lab 3 (continued) | ||||
| 10/18 | More on explanatory output | ||||
| 10/19 | Lab 3 (continued) | ||||
| 10/20 | 13.1-13.2 | Arithmetic expressions revisited | HW 3 | ||
| 10/23 | Reading break (no class) | ||||
| 10/24 | Reading break (no class) | ||||
| 10/25 | 13.3 | RA Stack implementations and representation invariants | |||
| 10/26 | Lab 3 (concludes) | ||||
| 10/27 | More on RA Stack implementations and rep invariants | ||||
| 10/30 | Graph algorithms | HW 4 | |||
| 10/31 | Lab 4: Word ladders | ||||
| 11/1 | More on graph algorithms | ||||
| 11/2 | Lab 4 (continues) | ||||
| 11/3 | Review/catchup | ||||
| 11/6 | Test #2 | ||||
| 11/7 | Lab 4 (continues) | ||||
| 11/8 | More on Java | ||||
| 11/9 | Lab 4 (continues) | ||||
| 11/10 | 14.1-14.2 | Object-oriented programming | |||
| 11/13 | More on object-oriented programming | ||||
| 11/14 | Lab 4 (concludes) | ||||
| 11/15 | 14.5 | The Land of Gack | Lab 4 | ||
| 11/16 | Lab 5: Adventures in the Imaginary Land of Gack | ||||
| 11/17 | Lab 5 (continues) | ||||
| 11/20 | 14.3 | Extensions/variations on compu-duds | HW 5 | ||
| 11/21 | Lab 5 (continues) | ||||
| 11/22 | Lab 5 (continues) | ||||
| 11/23 | Thanksgiving break (no class) | ||||
| 11/24 | Thanksgiving break (no class) | ||||
| 11/27 | 15.1-15.2 | Java with inheritance | |||
| 11/28 | Lab 5 (concludes) | ||||
| 11/29 | 15.3 | Event-driven GUI in applets | Lab 5 | ||
| 11/30 | Lab 6: Java and Concurrency | ||||
| 12/1 | 15.3 | More on event-driven GUI in applets | |||
| 12/4 | 15.4 | Concurrency | |||
| 12/5 | Lab 6 (continues) | ||||
| 12/6 | 15.4 | More on concurrency | |||
| 12/7 | Lab 6 (continues) | ||||
| 12/8 | More on Java | HW 6 | |||
| 12/11 | TBA | ||||
| 12/12 | Lab 6 (concludes) | ||||
| 12/13 | Review/catchup/evaluation | Lab 6 | |||