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 |
|