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 [Slides] | Read: Learn Scrum (and github support) | |
| Week 2 | |||
| 01/12/2026 | Requirements and use cases [Slides] | 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 | Reference: Proposals folder (Canvas) | Presentation order posted in Ed Register your project preferences (due Thurs 1/15/26 by 11:59pm) |
| 01/14/2026 | Project pitches - set 2 | ||
| 01/15/2026 | Project pitches - set 3 | ||
| 01/16/2026 | Version control and git [Slides] | 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 [Slide] | Project teams (in Canvas) | Requirements and development plan (due Tues 01/27/26 by 11:59pm) |
| 01/21/2026 | In-class team activity: requirements and specifications (due during class) | Reference material: Canvas folder | |
| 01/22/2026 | Project meetings [Slide] | ||
| 01/23/2026 | In-class exercise: git pull requests | Read: About pull requests (GitHub)
Read:Creating a github pull request (Ernst) Read: The Unwritten Guide to pull requests (Atlassian) |
git pull-requests in-class exercise (due today by 11:59pm) |
| Week 4 | Project status reports start (due Weds by 11:59pm) | ||
| 01/26/2026 | Architecture [Slides] | Read: 10 Common Software Architecture Patterns Optional: 5 Essential Software Architecture Patterns |
|
| 01/27/2026 | Team meetings | ||
| 01/28/2026 | Design [Slides] | Read: Introduction to Design Principles Read (intro and categories), reference (specific patterns): Design Patterns for Humans Read: SOLID Design Principles |
Architecture and design (due Tues 02/03/26 by 11:59pm) |
| 01/29/2026 | Project meetings | ||
| 01/30/2026 | In-class exercise: code reviews [Slides] | 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 [Slides] | Read: GitHub: What is CI/CD Read: Amazon: What is devops Read: Microsoft: What is devops Read: Understanding GitHub Actions |
|
| 02/03/2026 | Team meetings | ||
| 02/04/2026 | Software testing [Slides] | Read: Software Testing Basics | Testing and continuous integration (due Tues 02/10/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 [Slides] |
Read: Code Coverage Testing in Software
Read: Discover MC/DC Coverage Reference: Code Coverage at Google |
|
| 02/10/2026 | Team meetings | ||
| 02/11/2026 | Industry guest speaker - Tanvi Tiwari, Meta | Talk will not be recorded | Attendance required to 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 | Signup for a Beta demo time: Signup sheet | |
| 02/13/2026 | In-class exercise: code coverage | Reference: JaCoCo and Intro to JaCoCo | 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 | 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 | Study time, no class (use class-time to study for exam) | 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 | Attendance required to 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 |