The calendar below provides the course's lecture (L), recitation (R), quiz (Q), and project (P) sessions by week.
| ses # | topics | key Dates |
|---|---|---|
| Week 1 | ||
| L1 | Introduction | Problem set 0 out |
| L2 | Object semantics | |
| Week 2 | ||
| L3 | Subclassing | |
| L4 | Specifications | |
| L5 | Testing | Problem set 1 out |
| R1 | Specification and testing | Problem set 0 due |
| Week 3 | ||
| L6 | Object model notations Code summary | |
| L7 | Introduction to ADTs | Problem set 2 out |
| R2 | ADT, rep exposure, and object model diagrams | Problem set 1 due |
| Week 4 | ||
| L8 | Representation invariants | |
| L9 | Abstraction functions | |
| L10 | Dependencies and decoupling | Problem set 3 out |
| R3 | Abstraction functions and representation invariants | Problem set 2 due |
| Week 5 | ||
| L11 | Exceptions | |
| L12 | Equality | |
| L13 | Polymorphism | Problem set 4 out |
| R4 | Equality and hashing | Problem set 3 due |
| Week 6 | ||
| L14 | Subtypes and subclasses | Problem set 5 out |
| R5 | True subtyping and the substitution principle | Problem set 4 due |
| Week 7 | ||
| L15 | Classes and interfaces | |
| L16 | Usability 1 | Problem set 6 out |
| L17 | Usability 2 | Problem set 5 due |
| Week 8 | ||
| L18 | Design patterns | |
| L19 | Design project experiences 1 | |
| L20 | Design project experiences 2 | |
| R6 | Design patterns | |
| Week 9 | ||
| P1 | Project implementation and review | |
| Q1 | Quiz | |
| P2-P3 | Project implementation and review (cont.) | Problem set 6 due in P2 |
| Week 10 | ||
| P4-P5 | Project implementation and review (cont.) | |
| L21 | Managing a small software team | First deliverable due |
| P6 | Project implementation and review (cont.) | |
| Week 11 | ||
| P7-P9 | Project implementation and review (cont.) | |
| L22 | Guest Lecture - Joshua Bloch and Neal Gafter | |
| Week 12 | ||
| P10-P12 | Project implementation and review (cont.) | Second deliverable due in P10 |
| Week 13 | ||
| P13-P16 | Project implementation and review (cont.) | |
| Week 14 | ||
| P17-P20 | Project implementation and review (cont.) | |
| Week 15 | ||
| Demo fair | Final project due | |
| Award presentations | ||
