| SES # | TOPICS | LECTURE NOTES |
|---|---|---|
| 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 Code summary |
(PDF) (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 | Managing a small software team | (PDF) (Courtesy of Corey McCaffrey. Used with permission.) |
| Week 11 | ||
| L22 | Guest lecture by Joshua Bloch and Neal Gafter | |
