| Date | Reading | Topic | Due |
|---|---|---|---|
| 2/11 | 10.1-10.2 | Introduction to EBNF and Micro-Scheme | |
| 2/12 | No lab | ||
| 2/13 | 10.2-10.3 | EBNF and Micro-Scheme | |
| 2/14 | Lab 1: Extending Evaluators | ||
| 2/15 | 10.3 | More on Micro-Scheme | |
| 2/18 | 10.4 | Global definitions: Mini-Scheme | |
| 2/19 | Lab 1 (continued) | ||
| 2/20 | 10.5 | Adding explanatory output | |
| 2/21 | Lab 1 (continued) | ||
| 2/22 | 10.5 | More on explanatory output | |
| 2/25 | 11.1-11.2 | The SLIM architecture | Homework #1 |
| 2/26 | Lab 1 (concludes) | ||
| 2/27 | 11.3 | SLIM's instruction set; start iteration | |
| 2/28 | Open lab (no lab instructor available) | ||
| 3/1 | Lab 2: SLIM Assembly Language Programming | Lab #1 | |
| 3/4 | 11.4 | Iteration in assembly language | |
| 3/5 | Lab 2 (continued) | ||
| 3/6 | 11.4 | Iteration in assembly language | |
| 3/7 | Lab 2 (continued) | ||
| 3/8 | 11.5 | Recursion in assembly language | |
| 3/11 | 11.6 | Memory in Scheme | |
| 3/12 | Lab 2 (concludes) | ||
| 3/13 | Review/catchup | Homework #2 | |
| 3/14 | Test #1, 7:00-8:30 pm in Olin 103 (no lab) | ||
| 3/15 | 12.1-2 | Revisiting tree recursion | |
| 3/18 | 12.3 | Memoization | Lab #2 |
| 3/19 | Lab 3: Optimally Playing the Etaoin Game | ||
| 3/20 | 12.4 | Dynamic programming | |
| 3/21 | Lab 3 (continued) | ||
| 3/22 | 12.5 | Comparing memoization and dynamic programming | |
| 3/25 | 13.1-13.2 | Arithmetic expressions revisited | |
| 3/26 | Lab 3 (continued) | ||
| 3/27 | 13.3 | RA-stack implementations and representation invariants | Homework #3 |
| 3/28 | Lab 3 (concludes) | ||
| 3/29 | Spring Break/Easter Recess (no class) | ||