| Course Notes | Related Reading | Resources |
| Topic 1 - Introduction | Ch. 1 | |
| Topic 2 - Abstraction and Separation | Ch. 1 & Ch 2 | |
| Topic 3 - C++ Classes | Ch 4, sections 3,4,8-11 | |
| Topic 4 - Objects & Memory | Supplements:
Pointers and Memory and Linked-List Basics by Nick Parlante |
|
| Topic 5 - A Simple GUI Toolkit | Ch 2, pp 49-57 | |
| Topic 6 - Class Design | Ch 9, section 2 | Class Form (pdf,
MSWord)
Operation Form (pdf, MSWord) Class Discovery and Rejection |
| Topic 7 - Class Diagrams | Ch 9, pp.417-421 | Example |
| Topic 8 - Association | Ch 3 | |
| Topic 9 - Aggregation | Ch 4 sections 2,5-7 | |
| Exam 1 | Review Topics | |
| Topic 10 - Information Hiding | ||
| Topic 11 - Behavioral Design | ||
| Topic 12 - More C++ | Ch 4, section 11 | |
| Topic 13 - A Design Problem | ||
| Topic 14 - Polymorphism & Inheritance | Ch 6 | |
| Topic 15 - Templates | Ch 7 | |
| Topic 16 - Standard Template Library | ||
| Topic 17 - Overloading | Ch 8 | |
| Topic 18 - Polymorphism overview | ||
| Exam 2 | Review Topics | |
| Topic 19 - Design Review | ||
| Topic 20 - Design Patterns | Not covered | |
| Topic 21 - C++ Exceptions | ||
| Final Exam | Review Topics |