Lecture Notes

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