6.170 | Fall 2005 | Undergraduate

Laboratory in Software Engineering

Lecture Notes

Week 1
L1 Introduction (PDF)
L2 Object semantics (PDF)
Week 2
L3 Subclassing (PDF)
L4 Specifications (PDF)
L5 Testing (PDF)
Week 3

Object model notations

Code summary



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  

Course Info

Learning Resource Types
Lecture Notes
Programming Assignments