| WEEK | DATE | TOPIC | READING |
| 1 | 08/29 (Tu) | Course Overview | Appendix A |
| 08/31 (Th) | Introduction to Software Design | Chapter 1 | |
| 2 | 09/05 (Tu) | Introduction to Software Design | Chapter 1 |
| 09/07 (Th) | Program Correctness and Efficiency | Chapter 2 | |
| 3 | 09/12 (Tu) | Program Correctness and Efficiency | Chapter 2 |
| 09/14 (Th) | Inheritance and Class Hierarchies | Chapter 3 | |
| 4 | 09/19 (Tu) | Inheritance and Class Hierarchies | Chapter 3 |
| 09/21 (Th) | Inheritance and Class Hierarchies | Chapter 3 | |
| 5 | 09/26 (Tu) | mid-term 1 | |
| 09/28 (Th) | exam review | ||
| 6 | 10/03 (Tu) | Event-Oriented Programming | Appendix C |
| 10/05 (Th) | Event-Oriented Programming | Appendix C | |
| 7 | 10/10 (Tu) | List and the Collection Interface | Chapter 4 |
| 10/12 (Th) | List and the Collection Interface | Chapter 4 | |
| 8 | 10/17 (Tu) | List and the Collection Interface | Chapter 4 |
| 10/19 (Th) | Stacks | Chapter 5 | |
| 9 | 10/24 (Tu) | Stacks | Chapter 5 |
| 10/26 (Th) | Queues | Chapter 6 | |
| 10 | 10/31 (Tu) | mid-term 2 | |
| 11/02 (Th) | exam review | ||
| 11 | 11/07 (Tu) | Recursion | Chapter 7 |
| 11/09 (Th) | Recursion | Chapter 7 | |
| 12 | 11/14 (Tu) | Trees | Chapter 8 |
| 11/16 (Th) | Trees | Chapter 8 | |
| 13 | 11/21 (Tu) | Trees | Chapter 8 |
| 11/23 (Th) | Thanksgiving recess | ||
| 14 | 11/28 (Tu) | Sorting | Chapter 10 |
| 11/30 (Th) | Sorting | Chapter 10 | |
| 15 | 12/05 (Tu) | Sorting | Chapter 10 |
| 12/07 (Th) | study day | ||
| 16 | 12/12 (Tu) | 8:30 - 10:30 : final exam |