Reading and Lab Schedule

Notes:


Week 1

Tuesday (the first three readings are strictly optional - Griswold presents, with class discussion) 

Thursday: Early History of Modularity (fill out a form for each reading)  [LINKS TO "OFFLINE" READINGS]

Week 2

Tuesday 

Thursday - Depending on Interfaces, not Implementations (fill out one form for all readings combined)    [LINKS TO "OFFLINE" READINGS]

Week 3

Tuesday 

Thursday: OCP, Design Patterns, and the Observer Pattern (fill out a form for each reading)

Week 4

Tuesday 

Thursday: The Model-View-Presenter Pattern (fill out a form for each reading)  

Week 5

Tuesday 

Thursday: Design Patterns as Architecture - Making MVP a Rule (fill out a form for each reading)  

Week 6

Tuesday 

Thursday: The Modularity of "Making" - Creational Patterns (fill out one form for each reading)

Week 7

Tuesday 

Thursday: Object-Oriented Design 

Week 8

Tuesday 

Thursday: Design at Large - Software Architecture

Week 9

Tuesday 

Thursday: Design by Contract - LSP and pre-/post-condition semantics revisited (write-up as a single reading, for annotation combine the PDFs)

Week 10

Tuesday 

Thursday - Closing Lecture: A Theory of Modularity (no reading - attendance required; missing class requires submitting a form/writeup for the second article here, "The Structure and Value of Modularity...")