Number | Lecture Date | Title | Fullsize |
L0 | 3/29/2010 | Introduction | (PDF) |
L1 | 3/29/2010 | Specifications | (PDF) |
L2 | 3/31/2010 | Testing | (PDF) |
L3 | 4/2/2010 | Procedure specifications | (PDF) |
L4 | 4/5/2010 | Abstract data types | (PDF) |
L5 | 4/7/2010 | Abstraction functions & rep invariants | (PDF) |
L6 | 4/9/2010 | Subtypes | (PDF) |
L7 | 4/12/2010 | Equality | (PDF) |
L8 | 4/14/2010 | Design patterns (1) | (PDF) |
L9 | 4/16/2010 | Exceptions & assertions | (PDF) |
L10 | 4/19/2010 | Debugging | (PDF) |
L12 | 4/28/2010 | Reasoning about ADTs | (PDF) |
L13 | 4/30/2010 | Reasoning about code | (PDF) |
L14 | 5/3/2010 | Module dependences | (PDF) |
L15 | 5/5/2010 | Design patterns (2) | (PDF) |
L16 | 5/7/2010 | Usability | (PDF) |
L17 | 5/10/2010 | System integration and sofware process | (PDF) |
L18 | 5/21/2010 | Type qualifiers | (PDF) |
L19 | 5/24/2010 | Advanced type systems | (PDF) |
L22 | 6/4/2010 | Wrapup | (PDF) |