Lectures

Number Lecture Date Title Fullsize
L0 1/3/2011 Introduction (PDF)
L1 1/3/2011 Specifications (PDF)
L2 1/5/2011 Testing (PDF)
L3 1/7/2011 Procedural specifications (PDF)
L4 1/10/2011 Abstract data types (PDF)
L5 1/12/2011 Abstraction functions and representation invariants (PDF)
L6 1/14/2011 Subclasses and subtypes (PDF)
L7 1/19/2011 Preventing null pointer errors (PDF)
L8 1/21/2011 Polymorphism (generics) (PDF)
L9 1/24/2011 Design patterns (1) (PDF)
L10 1/26/2011 Identity and equality (PDF)
L11 2/2/2011 Debugging (PDF)
L12 2/4/2011 Exceptions (PDF)
L13 2/7/2011 Reasoning about ADTs (PDF)
L14 2/9/2011 Reasoning about code (PDF)
L15 2/11/2011 Design patterns (2) (PDF)
L16 2/14/2011 Module dependences (PDF)
L17 2/16/2011 Design patterns (3) (PDF)
L18 2/18/2011 System integration (PDF)
L19 2/23/2011 Usability (PDF)
L20 3/2/2011 Automated verification (PDF)
L21 3/11/2011 Wrapup (PDF)