This table specifies when we cover which topics. The link in the first column connects this page to the homework
that you will be working on for the corresponding week.
The third column lists the sections in How to Design Programs that cover the lecture material.
The last column list the dates, and special days, of the week.
| Week | Topic of the Week | Readings | Date |
|---|
| Designing functions for finite data | HtDP: Part I, Intermezzo 1 | 9/16 |
| Designing functions for arbitrarily large data (1) | HtDP: Part II, Intermezzos 2, 3 | 9/23 |
| Designing functions for arbitrarily large data (2) | HtDP: Part III | 9/30 |
| Designing abstractions with first-class functions | HtDP: Part IV, Intermezzo 4 | 10/07 |
| Designing generative recursive functions | HtDP: Part V, Intermezzo 5 | 10/14 |
| Design Choicse | HtDP: Parts I-V | 10/28 |
| Designing with accumulators | HtDP: Part VI, plus Intermezzo 6 | 10/21 |
| Designing classes | HtDC: Part I, plus Intermezzo 1 | 11/04 |
| Designing interfaces and classes | HtDC: Part II, plus Intermezzo 2 | 11/11: Veteran's Day |
| Designing abstract and stateful classes | HtDC: Parts III and IV, plus Intermezzos 3 and 4 | 11/25 |
| Designing abstract traversals | HtDC: Part VI, optionally part V | 12/02 |