| Number | Lecture Date | Title | Fullsize |
| L0 | 3/29/2010 | Introduction | (PDF) |
| L1 | 3/29/2010 | Initial questionnaire results | (PDF) |
| L1 | 3/29/2010 | Specifications | (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) |
| L2 | 3/31/2010 | Testing | (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) |