Notes: (1) Future entries are tentative and subject to change. Please check back often. (2) Slides (here) and recordings (in Panopto) will be posted after class. Recordings are not always available depending on the class material and recording technology. (3) Weekly project-team status reports (due Weds by 11:59pm) are not listed on the calendar.
| Date | Topic and Slides | Materials | Assignments |
|---|---|---|---|
| Week 1 | |||
| 01/05/2026 | Course overview [Slides] | Read: Course project | Project proposal (due Mon 01/12/26 11:59pm) |
| 01/06/2026 | Proposal group formation and working time [Slide] | Signup your proposal group (due today 11:59pm) | |
| 01/07/2026 | Software development lifecycles (SDLs) [Slides] |
Read: Traditional SDLs and Agile ("Philosophy" section)
Read: Agile Alliance: What is Agile - include the linked pages describing the Agile Manifesto , 12 Principles , Pair Programming and Test Driven Development |
|
| 01/08/2026 | Project proposal working time | ||
| 01/09/2026 | SDLs, scrum and teams | Read: Learn Scrum (and github support) | |
| Week 2 | |||
| 01/12/2026 | Requirements and use cases | Read: Eliciting requirements (p 83-91, rest optional) Read:Use cases-1 and Use cases-2 Read: User scenarios |
|
| 01/13/2026 | Project pitches - set 1 | ||
| 01/14/2026 | Project pitches - set 2 | ||
| 01/15/2026 | Project pitches - set 3 | Register your project preferences (due today 11:59pm) | |
| 01/16/2026 | Version control and git | Reference: Git
and Github git cheat sheet Read: Feature branches |
Be available on Ed for preference questions (if asked, answers due today 11:59pm) |
| Week 3 | |||
| 01/19/2026 | No class - Martin Luther King day | ||
| 01/20/2026 | Projects announced and team meetings start | Project teams (in Canvas) | |
| 01/21/2026 | In-class activity: requirements and specifications (due during class) | Requirements and development plan (due Tues 01/27/26 by 11:59pm) | |
| 01/22/2026 | Project meetings | ||
| 01/23/2026 | In-class exercise: git pull requests | Read: Git pull requests | git in-class exercise (due today by 11:59pm) |
| Week 4 | Project status reports start (due Weds by 11:59pm) | ||
| 01/26/2026 | Architecture | Read: 10 Common Software Architecture Patterns Optional: 5 Essential Software Architecture Patterns |
|
| 01/27/2026 | Team meetings | ||
| 01/28/2026 | Design and data modelling | Read: Introduction to Design Principles Read (intro and categories), reference (specific patterns): Design Patterns for Humans Read: ER Modelling |
Architecture and design (due Tues 02/03/26 by 11:59pm) |
| 01/29/2026 | Project meetings | ||
| 01/30/2026 | In-class exercise: code reviews | Read: How to do code reviews like a human Reference: Google code review guide |
Code reviews in-class exercise (due today by 11:59pm) |
| Week 5 | |||
| 02/02/2026 | Continuous build, integration, deployment | Read: Amazon: What is devops Read: Microsoft: What is devops Read: Understanding GitHub Actions |
|
| 02/03/2026 | Team meetings | ||
| 02/04/2026 | Software testing | Read: Software Testing Basics | Testing and continuous integration (due Tues 02/11/26 by 11:59pm) |
| 02/05/2026 | Project meetings | ||
| 02/06/2026 | In-class exercise: git-bisect | Read: Debugging with git-bisect | git-bisect in-class exercise (due today by 11:59pm) |
| Week 6 | |||
| 02/09/2026 | Software testing part 2 | Read: Code Coverage at Google | |
| 02/10/2026 | Team meetings | ||
| 02/11/2026 | Industry guest speaker - coming soon | Talk will not be recorded | Individually submit your guest speaker learning (due today by 11:59pm) Beta release (due Tues 02/17/26 by 11:59pm) |
| 02/12/2026 | Project meetings | ||
| 02/13/2026 | In-class exercise: code coverage | Code coverage in-class exercise (due today by 11:59pm) | |
| Week 7 | |||
| 02/16/2026 | No class - Presidents day | ||
| 02/17/2026 | Team meetings | ||
| 02/18/2026 | Beta release presentations - group 1 | Individually submit your beta presentations learning (due Fri 2/20 11:59pm (after all demos)) Gamma release (due Tues 02/24/26 by 11:59pm) |
|
| 02/19/2026 | Beta release presentations - group 2 | ||
| 02/20/2026 | Beta release presentations - group 3 | ||
| Week 8 | |||
| 02/23/2026 | Intellectual property | ||
| 02/24/2026 | Team meetings | ||
| 02/25/2026 | Debugging | Peer project review (due Tues 03/03/26 by 11:59pm) | |
| 02/26/2026 | Project meetings | ||
| 02/27/2026 | Exam (in-class) This exam is closed book. You may refer to one page of handwritten notes (one side of an 8.5x11 paper). |
Reference: Old Exams | |
| Week 9 | |||
| 03/02/2026 | Industry guest speaker - Nathan Sjoquist, Microsoft | Talk will not be recorded | Individually submit your guest speaker learning (due today by 11:59pm) |
| 03/03/2026 | Team meetings | ||
| 03/04/2026 | In-class activity: UI/UX design jeopardy (due during class) | Final release (due Tues 03/10/26 by 11:59pm) | |
| 03/05/2026 | Project meetings | ||
| 03/06/2026 | In-class exercise: AI coding | AI coding in-class exercise (due today by 11:59pm) | |
| Week 10 | |||
| 03/09/2026 | Drive to final release (use class-time for team meetings) | ||
| 03/10/2026 | Team meetings | ||
| 03/11/2026 | Final release demos - set 1 | Individual reflection (due Mon 03/16/26 by 11:59pm) | |
| 03/12/2026 | Final release demos - set 2 | ||
| 03/13/2026 | Final release demos - set 3 | ||
| Finals Week | |||
| 03/16/2026 | No classes: finals week | Individual reflection due today, Monday, 11:59pm |