This table specifies when we cover given topics. The week numbers in the first column are links connecting
this page to the homework that you will be working on for the corresponding week. The third column lists the pages in the text that cover the lecture material. The Mon/Wed columns list the lecture dates, and the Thu column lists the lab dates, for each week.
We will not have class on Wed, Sept 30th and there will be an assignment in lieu of a lab. The schedule is complete through the first exam, but expect to consult it regularly because it is subject to change.
| Week | Topic of the Week | How to Design Classes | Mon | Wed | Lab |
|---|---|---|---|---|---|
| 1 | Introductions; Scheme Review | Pages 7 - 36 | 8/31 | 9/2 | 9/3 |
| 2 | Java Basics; Designing Java Classes; Unions | Pages 37 - 81 | HOL | 9/9 | 9/10 |
| 3 | Self-Referential Unions; Class Hierarchies; Primitive operators; Methods for simple classes | Pages 85 - 98 | 9/14 | 9/16 | 9/17 |
| 4 | Methods for class unions; Design Recipe for Java Methods | Pages 98 - 221 | 9/21 | 9/23 | 9/24 |
| 5 | Writing Accumulator methods; Abstracting with Classes | Pages 223 - 258 | 9/28 | OFF | OFF |
| 6 | Abstracting with Classes | Pages 259 - 329 | 10/5 | 10/7 | 10/8 |
| 7 | Privacy specifications; Extensional Equality | Pages 338 - 370 | 10/12 | 10/14 | 10/15 |
| 8 | Designing Imperative Classes | Pages 370 - 461 | 10/26 | 10/28 | 10/29 |
| 9 | Java Basics; Loops, memory usage, and arrays | Weiss supplemental reading | 11/2 | 11/4 | 11/5 |
| 10 | Arrays and Loops | Lecture notes | 11/9 | 11/11 | 11/12 |
| 11 | ArrayLists, BigOh | Lecture notes | 11/16 | 11/18 | 11/19 |
| 12 | Sorting algorithms, Intro to GUI coding, Generic methods | Lecture notes | 11/123 | 11/24 | OFF |
| 13 | Exceptions, File I/O, GUIs | Lecture notes | 11/30 | 12/1 | 12/3 |