Date Topic Materials Assignments (due dates in Canvas)

01/01 No class (holiday)
01/02 No section
01/03 Introduction Slides Project pitch
01/04 No section; work on your project proposal with your partner
01/05 The Joel Test Slides

01/08 Project pitches
01/09 Project pitches
01/10 Software development lifecycles Slides
01/11 Project meeting
01/12 Requirements and Use cases Slides

01/15 No class (holiday)
01/16 Team meeting
01/17 Version control and Git Slides Revised proposal; requirements and policies
01/18 Project meeting
01/19 In-class exercise (Git) Canvas In-class exercise

01/22 Architecture Slides
01/23 Team meeting Due 01/23: Git setup
01/24 Design and style Slides
01/25 Project meeting
01/26 Data modelling No lecture

01/29 Build systems
01/30 Team meeting
01/31 Continuous integration Slides Testing and CI
02/01 Project meeting
02/02 In-class exercise (Testing) Canvas In-class exercise

02/05 Testing and coverage Slides
02/06 Team meeting
02/07 Integration testing Slides
02/07 4:30-6:20 Office hours; room CSE2 G10 Come with questions
02/08 Project meeting
02/09 Exam Old exams; Exam; Solutions

02/12 Intellectual property Slides
02/13 Team meeting Due 02/13: Beta release
02/14 Beta release demos
02/15 Beta release demos
02/16 In-class exercise (Code defenders) Canvas In-class exercise

02/19 No class (holiday)
02/20 Team meeting
02/21 Debugging Slides Peer review
02/22 Project meeting
02/23 In-class exercise (Debugging) Canvas In-class exercise

02/26 Code review Slides
02/27 Team meeting
02/28 Five lessons in product development by Thamer Abanami (Microsoft) Slides
02/29 Project meeting
03/01 Interviewing Slides

03/04 Wrapup Slides
03/05 Team meeting
03/06 Goal-setting in complex orgs by Isaac Reynolds (Google) Due 03/06: Final release
03/07 Final project presentations
03/08 Final project presentations Due 03/12: Individual Reflection

03/14 No meeting; no final exam