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 4 | Project 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 |