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/06/2025 Course overview [Slides] Read: Course project Project proposal (due Mon 01/13/25 11:59pm)
01/07/2025 Project proposal working time [Slide] Signup your proposal group (due today 11:59pm)
01/08/2025 Software development lifecycles [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/09/2025 Project proposal working time
01/10/2025 SDLS, scrum and teams [Slides] Read: Learn Scrum (and github support)
Week 2
01/13/2025 Requirements [Slides] Read: Eliciting requirements (p 83-91, rest optional)
01/14/2025 Project pitches - set 1
01/15/2025 Project pitches - set 2
01/16/2025 Project pitches - set 3
01/17/2025 Requirements - use cases and user scenarios [Slides] Read: Use cases-1 and Use cases-2
Read: User scenarios
Register your project preferences - see Ed for link (due today 12:30pm (classtime))
Week 3
01/20/2025 No class - Martin Luther King day
01/21/2025 Projects announced and team meetings start Project teams (in Canvas)
01/22/2025 Requirements - in class exercise part 1 (done with team) Requirements and development plan(due Tues 01/28/25 by 11:59pm)
01/23/2025 Project meetings
01/24/2025 Requirements - in class exercise part 2 (done with team)
Week 4Project status reports start (due Weds by 11:59pm)
01/27/2025 Version control and git [Slides] Reference: Git and Github git cheat sheet
Read: Feature branches and Pull requests
01/28/2025 Team meetings
01/29/2025 Architecture [Slides] Read: 10 Common Software Architecture Patterns
Optional: 5 Essential Software Architecture Patterns
Architecture and design(due Tues 02/04/25 by 11:59pm)
01/30/2025 Project meetings
01/31/2025 Git bisect - in class exercise - bring laptop Read: Debugging with git-bisect git-bisect in-class exercise (due today by 11:59pm)
Week 5
02/03/2025 Software design [Slides] Read: Introduction to Design Principles
Read (intro and categories), reference (specific patterns): Design Patterns for Humans
02/04/2025 Team meetings
02/05/2025 Continuous build, integration, deployment [Slides] Read: Amazon: What is devops
Read: Microsoft: What is devops
Read: Understanding GitHub Actions
Testing and continuous integration(due Tues 02/11/25 by 11:59pm)
(Optional) Submit a question for Zach Sperske (by Mon 02/10 11:59pm)
02/06/2025 Project meetings
02/07/2025 Software testing part 1 [Slides] Read: Software Testing Basics Individually submit your teammate survey;see your team EdChat for link (due Mon 2/10 by 11:59pm)
Week 6
02/10/2025 Software testing part 2 [Slides] Read: Code Coverage at Google
Read: Practical Mutation Testing at Scale
02/11/2025 Team meetings
02/12/2025 Industry guest speaker - Zach Sperske, Affirm - CI/CD in Modern Software Development [Slides] Talk will not be recorded Individually submit your guest speaker learning (due today by 11:59pm)
Beta release(due Tues 02/18/25 by 11:59pm)
02/13/2025 Project meetings
02/14/2025 Drive to Beta release (use class-time for team meetings)
Week 7
02/17/2025 No class - Presidents day
02/18/2025 Team meetings Signup for a demo slot (due today 11:59pm)
02/19/2025 Beta release presentations - group 1 [Presentation Order Slides] Individually submit your beta presentations learning (due Fri 2/21 11:59pm (after all demos))
Beta++ with guides release(due Tues 02/25/25 by 11:59pm)
02/20/2025 Beta release presentations - group 2
02/21/2025 Beta release presentations - group 3 Individually submit your 2nd teammate survey;see your team EdChat for link (due Tues 02/25/25 by 11:59pm)
Week 8
02/24/2025 Intellectual property [Slides]
02/25/2025 Team meetings
02/26/2025 UI/UX design jeopardy - in class activity [No slides; see class recording] Peer project review(due Tues 03/04/25 by 11:59pm)
02/27/2025 Project meetings
02/28/2025 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/03/2025 Industry guest speaker - Nathan Sjoquist, Microsoft - Software Development [Slides] Talk will not be recorded Individually submit your guest speaker learning (due today by 11:59pm)
03/04/2025 Team meetings
03/05/2025 Mutations - in class exercise - bring laptop [Slides] Read: Mutation basics Mutations in-class exercise (due today by 11:59pm)
Final release(due Tues 03/11/25 by 11:59pm)
03/06/2025 Project meetings
03/07/2025 Code reviews [Slides] Read: How to do code reviews like a human
Reference: Google code review guide
Week 10
03/10/2025 Drive to Final release (use class-time for team meetings)
03/11/2025 Team meetings Signup for a demo slot (due today 11:59pm)
03/12/2025 Final release demos - set 1 Demo Schedule Individual reflection and final teammate survey-see EdChat for link(due Mon 03/17/25 by 11:59pm)
03/13/2025 Final release demos - set 2
03/14/2025 Final release demos - set 3
Finals Week
03/17/2025 No classes: finals week Individual reflection and final teammate survey due today, Monday, 11:59pm