| ses # | topics | |
|---|---|---|
| Week 1 | ||
| L1 | Introduction (PDF) | |
| L2 | Object Semantics (PDF) | |
| Week 2 | ||
| L3 | Subclassing (PDF) | |
| L4 | Specifications (PDF) | |
| L5 | Testing (PDF) | |
| Week 3 | ||
| L6 | Object Model Notations (PDF) Code Summary (PDF) | |
| L7 | Introduction to ADTs (PDF) | |
| Week 4 | ||
| L8 | Representation Invariants (PDF) | |
| L9 | Abstraction Functions (PDF) | |
| L10 | Dependencies and Decoupling (PDF) | |
| Week 5 | ||
| L11 | Exceptions (PDF) | |
| L12 | Equality (PDF) | |
| L13 | Polymorphism - Guest lecture by Gilad Bracha | |
| Week 6 | ||
| L14 | Subtypes and Subclasses (PDF) | |
| Week 7 | ||
| L15 | Classes and Interfaces (PDF) | |
| L16 | Usability 1 (PDF) (Courtesy of Prof. Robert Miller. Used with permission.) | |
| L17 | Usability 2 (PDF) (Courtesy of Prof. Robert Miller. Used with permission.) | |
| Week 8 | ||
| L18 | Design Patterns (PDF) | |
| L19 | Design Project Experiences 1 (PDF) | |
| L20 | Design Project Experiences 2 (PDF) | |
| Week 10 | ||
| L21 | Lecture on Final Project (PDF) (Courtesy of Corey McCaffrey. Used with permission.) | |
| Week 11 | ||
| L22 | Guest Lecture - Joshua Bloch and Neal Gafter | |