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 |