Calendar

The calendar below provides the course's lecture (L), recitation (R), quiz (Q), and project (P) sessions by week.


ses # topics key Dates
Week 1
L1 Introduction Problem set 0 out
L2 Object Semantics
Week 2
L3 Subclassing
L4 Specifications
L5 Testing Problem set 1 out
R1 Specification and Testing Problem set 0 due
Week 3
L6 Object Model Notations

Code Summary
L7 Introduction to ADTs Problem set 2 out
R2 ADT, Rep Exposure, and Object Model Diagrams Problem set 1 due
Week 4
L8 Representation Invariants
L9 Abstraction Functions
L10 Dependencies and Decoupling Problem set 3 out
R3 Abstraction Functions and Representation Invariants Problem set 2 due
Week 5
L11 Exceptions
L12 Equality
L13 Polymorphism Problem set 4 out
R4 Equality and Hashing Problem set 3 due
Week 6
L14 Subtypes and Subclasses Problem set 5 out
R5 True Subtyping and the Substitution Principle Problem set 4 due
Week 7
L15 Classes and Interfaces
L16 Usability 1 Problem set 6 out
L17 Usability 2 Problem set 5 due
Week 8
L18 Design Patterns
L19 Design Project Experiences 1
L20 Design Project Experiences 2
R6 Design Patterns
Week 9
P1 Project Implementation and Review
Q1 Quiz
P2-P3 Project Implementation and Review (cont.) Problem set 6 due in P2
Week 10
P4-P5 Project Implementation and Review (cont.)
L21 Lecture on Final Project First deliverable due
P6 Project Implementation and Review (cont.)
Week 11
P7-P9 Project Implementation and Review (cont.)
L22 Guest Lecture - Joshua Bloch and Neal Gafter
Week 12
P10-P12 Project Implementation and Review (cont.) Second deliverable due in P10
Week 13
P13-P16 Project Implementation and Review (cont.)
Week 14
P17-P20 Project Implementation and Review (cont.)
Week 15
Demo Fair Final project due
Award Presentations