| Date | Topics | Reading | Due dates and quizzes |
|---|---|---|---|
| August 29 | About the course | ||
| September 3 | Objects; classes; UML | 0, 1 | |
| September 5 | Java basics | 2, 3, 5, 6 | Homework 1 (design) |
| September 10 | Java basics, continued; inheritance in Java | 4.5 | Homework 1 (code) |
| September 12 | Inheritance and polymorphism | ||
| September 17 | String processing | 7 | Quiz 1 |
| September 19 | Arrays | 8 | Homework 2 (design) |
| September 24 | Arrays, continued | Homework 2 (code) | |
| September 26 | Arrays, continued | Quiz 2 | |
| October 1 | Arrays, continued | Homework 3 (design) | |
| October 3 | Stacks and queues (using arrays) | 16.1, 16.2 | Homework 3 (code) |
| October 8 | Stacks and queues, continued; linked lists | Quiz 3 | |
| October 10 | Linked lists, continued | Homework 4 (design) | |
| October 15 | GUIs in Java | 9 | Homework 4 (code) |
| October 17 | Midterm exam (Review) | ||
| October 22 | GUIs in Java, continued | ||
| October 24 | Stacks, queues, and priority queues (using linked lists) | 16.3, 16.4 | |
| October 29 | Exceptions | 11 | Homework 5 (design) |
| October 31 | Graphics in Java | 10 | Quiz 4; Homework 5 (code) |
| November 5 | Graphics in Java, continued | Homework 6 (design) | |
| November 7 | Recursion | 12 | |
| November 12 | Recursion, continued | Homework 6 (code) | |
| November 14 | Binary trees | Quiz 5 | |
| November 19 | Heap-based priority queues | ||
| November 21 | Threads | 13 | Homework 7 (design) |
| November 26 | Threads, continued; files and streams | 14 | Homework 7 (code) |
| December 3 | Files and streams, continued | Quiz 6 | |
| December 5 | Files and streams, continued; sockets and networking | 15 | Homework 8 (design -- really due December 6) |
| December 10 | Sockets and networking, continued; course wrap-up | ||
| December 14 (2pm) | Final exam (Review) | Homework 8 (code -- really due December 16) |