Calendar
Deliverables marked Project should be delivered by the team. Deliverables marked Homework should be completed individually.
Team deliverables are usually due on Mondays at the beginning of lab (1 PM). Individual deliverables are usually due on Fridays at the beginning of class.
Introduction
- September 27
- Introduction and motivation: software project failures
- Out: Team matching survey (due Monday, 9/30)
Introduction and Rust
- Sept. 30
- Requirements
- Homework Team matching survey
Optional reading: Requirements engineering for software and systems, chapter 3
- Sept. 30 (lab)
- Sept. 30 (discussion)
- No discussion this week
- Oct. 2
- Code quality: OOP
- Teams will be announced (earlier announcements may be made for those who fill out the survey early)
- Oct. 4
- Code quality: design patterns 1
Design
- Oct. 7
- Oct. 7 (lab)
- React/TypeScript 1
- Oct. 7 (discussion)
- Focus groups
- Project Topic + requirements questions for focus groups
- Oct. 9
- Human-computer interaction 1
- Optional reading: Interviews and focus groups (Chapter 8 of Research Methods in Human-Computer Interaction)
- Oct. 11
Requirements
- Oct. 14
- Process models
- Project Vision document
- Oct. 14 (lab)
- React 2: Navigation; Testing (Jest)
- Oct. 14 (discussion)
- Scrum practicum
- If you have them, bring lightweight art supplies: colored pencils, markers, paper. You do not need to buy anything for this.
- Oct. 16
- Oct. 18
- Architecture 1
- Homework Give another group feedback on their vision document
Homework Heuristic evaluation
Optional reading: On the criteria to be used in decomposing systems into modules (Parnas)
Architecture
- Oct. 20
- (by 11:59 PM)
- Team contribution report due
- Oct. 21
- Oct. 21 (lab)
- More React practice
- Oct. 21 (discussion)
- Git
- Oct. 23
- Oct. 25
- Interactive architectural design exercise (no slides)
Architecture
- Oct. 27
- (by 11:59 PM)
- Team contribution report due
- Oct. 28
- Code review
- Project Revised vision document
Project Requirements and Mockups
Optional reading: Alberto Bacchelli and Christian Bird. Expectations, Outcomes, and Challenges of Modern Code Review.
- Oct. 28 (lab)
- Back end services 1
- Oct. 28 (discussion)
- Exam review
- Oct. 30
- Nov. 1
- Midterm exam
Design, Testing, and Security
- Nov. 3
- (by 11:59 PM)
- Team contribution report due
- Nov. 4
- Debugging
- Project Sprint 1 ends
- Nov. 4 (lab)
- Back end services 2
- Nov. 4 (discussion)
- No discussion
- Nov. 6
- Risk
- Optional reading: No Silver Bullet: Essence and Accidents of Software Engineering
- Nov. 8
Debugging and Teamwork
- Nov. 10
- (by 11:59 PM)
- Team contribution report due
- Nov. 11
- No class (Veterans Day)
- Project Sprint 2 ends
- Nov. 11 (lab)
- No lab (Veterans Day)
- Nov. 13
- Nov. 15
- Usability studies
- Homework Architecture
Practical Software Engineering
- Nov. 17
- (by 11:59 PM)
- Team contribution report due
- Nov. 18
- Internationalization (i18n), localization (l10n), and accessability (a11y)
- Project Sprint 3 ends
- Nov. 18 (lab)
- No lab
- Nov. 18 (discussion)
- Ethics
- Nov. 20
- Nov. 22
Optional video: The Definition of Differential Privacy
Practical Software Engineering
- Nov. 24
- (by 11:59 PM)
- Team contribution report due
- Nov. 25
- Intellectual property: copyright, licensing, and patents
- Project Sprint 4 ends
- Nov. 25 (lab)
- No lab
- Nov. 25 (discussion)
- TBD
- Nov. 27
- Nov. 29
- Thanksgiving break (no class)
Demos
- Dec. 1
- (by 11:59 PM)
- Team contribution report due
- Dec. 2
- Exam review: open-ended design
- Project Sprint 5 ends
- Dec. 2 (lab)
- No lab
- Dec. 2 (discussion)
- No discussion
- Dec. 4
- Exam review: you bring the questions!
- Dec. 6
- Project showcase
- Homework Individual Reflection