(Note: While it is not listed for each week, your team must submit a weekly status update by email by 11:59 PM each Sunday.)

Future information is tentative and subject to change.

Date Day Class Topic Reading Homework Assigned Homework Due
Mar 30 Mon Introduction Project Proposal
Apr 1 Wed Software lifecycle
Apr 2 Thu Project proposal presentations Project Proposal
Apr 3 Fri Project proposal presentations
Apr 6 Mon Requirements, use cases
Apr 8 Wed Teams
Apr 9 Thu Requirements, tools Requirements
Apr 10 Fri User interfaces
Apr 13 Mon Architecture
Apr 15 Wed UML class and sequence diagrams Paper prototype evaluation Requirements
Apr 16 Thurs
Apr 17 Fri Paper prototypes exercise (photos)
Apr 20 Mon UML diagrams (continued) Architectural design Paper prototype evaluation
Apr 22 Wed Process: The Joel Test
Apr 23 Thu Packaging
Apr 24 Fri Design patterns (1) Architectural design
Apr 27 Mon Design presentations (1) Zero-feature release Teammate Survey
Apr 29 Wed Design presentations (2)
Apr 31 Thu Zero-feature release
May 1 Fri Design patterns (2)
May 4 Mon Testing
May 6 Wed Specification game Beta release
May 7 Thu
May 8 Fri Specification game
May 11 Mon Debugging
May 13 Wed Reasoning about abstractions
May 14 Thu Beta evaluation
May 15 Fri Reasoning about code Feature-complete release Beta release
May 18 Mon Understanding procedures Beta evaluation (due Tues)
May 20 Wed Beta demos (1) Teammate Survey 2
May 21 Thu Beta demos (2)
May 22 Fri No class (work on your release) Release candidate Feature-complete release
May 25 Mon No class (Memorial Day)
May 27 Wed Reviews and refactoring
May 28 Thu
May 29 Fri No class (work on your release) Release candidate
Jun 1 Mon Wrapup Accidents in North American Mountaineering
API design matters (CACM, May 2009)
1.0 Release
Jun 3 Wed Review 1.0 Release
Jun 4 Thu
Jun 5 Fri Exam (solutions) Sample exams: 07sp, 07wi, 06su (final), 06su (midterm) 06sp, 05su (midterm), 05su (final)
Jun 8 Monday 8:30-10:20 final exam slot: final project presentations, in normal room (MOR 220)