| Date | Description |
|---|---|
| March 31 | Introduction |
| April 2 | Software lifecycle |
| April 4 | Project proposal presentations |
| April 7 | Group-forming; required if you have not yet completed the project preferences survey |
| April 9 | Group meeting (arrange your own location for group meetings) |
| April 11 |
Version control Do these exercises: conflict tutorial |
| April 14 | Teams |
| April 16 | User interfaces |
| April 18 | Architecture |
| April 21 | Paper prototypes exercise |
| April 23 | UML sequence diagrams |
| April 25 | Process: The Joel Test |
| April 28 | Design presentations (1) |
| April 30 | Design presentations (2) |
| May 2 |
Static analysis in the development process, by Eric Lippert (Coverity). Optional reading: A Few Billion Lines of Code Later: Using Static Analysis to Find Bugs in the Real World |
| May 5 | Design patterns in the wild |
| May 7 | Specification game |
| May 9 | In-class activity |
| May 12 |
Midterm exam (covers through Monday, May 5, 2014) (Solutions) |
| May 14 | Design change presentations (turnin) |
| May 16 | "Building Software Large and Small in the Real World - Notes from the Field" by Dennis Lee (Amazon) |
| May 19 | Beta demos (1) |
| May 21 | Beta demos (2) |
| May 23 | Code reviews, Refactoring |
| May 28 | Interviewing |
| May 30 | Finish Refactoring, Software engineering research |
| June 2 | No lecture -- work on your project |
| June 4 | No lecture -- work on your project |
| June 6 |
Final exam (cumulative) (Solutions) |