Calendar
Deliverables marked Project should be delivered by the team. Deliverables marked Homework should be completed individually.
Introduction
- Sept. 25 (lab)
- Sept. 26
Event-Driven Systems and Requirements
- Sept. 29
Teams will be announced.
- Sept. 29 (discussion)
- None
- Oct. 1
- Event-driven systems: architecture (model-view-controller). Konva.
- Oct. 2 (lab)
- Oct. 3
- Requirements
- MVC version of progress bar from Wednesday
- Homework Reading: Requirements engineering for software and systems, chapter 1
Requirements, Testing, and Design
- Oct. 6
- Requirements 2
- Project Vision
- Oct. 6 (discussion)
- Peer feedback on vision document
- Oct. 8
- Testing
- Homework Reading: How SQLite is Tested
- Oct. 9 (lab)
- Oct. 10
Process and code quality
- Oct. 12
- (by 11:59 PM)
- Team contribution report due
- Oct. 13
- Oct. 13 (discussion)
- None
- Oct. 15
- Code review
- Optional reading: Alberto Bacchelli and Christian Bird. Expectations, Outcomes, and Challenges of Modern Code Review.
- Oct. 16 (lab)
- Oct. 17
Design
- Oct. 19
- (by 11:59 PM)
- Team contribution report due
- Oct. 20
- Code quality: low-level choices, OOP (part 2)
- Oct. 20 (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. 22
- Design patterns
- Project Requirements document (nonfunctional requirements). Architectural design document. Populate backlog. Sprint 1 starts after class!
- Oct. 23 (lab)
- none
- Oct. 24
- Midterm exam
Debugging, security, and design
- Oct. 26
- (by 11:59 PM)
- Team contribution report due
- Oct. 27
- Debugging
- Oct. 27 (discussion)
- None
- Oct. 29
- Security
- Oct. 30 (lab)
- none
- Oct. 31
- Design: evaluation (heuristics)
Risk and teams
- Nov. 2
- (by 11:59 PM)
- Team contribution report due
- Nov. 3
- Risk: scenarios
- Optional reading: No Silver Bullet: Essence and Accidents of Software Engineering
- Project Sprint 1 ends
- Nov. 3 (discussion)
- None
- Nov. 5
- Process reflection (activity)
- Nov. 6 (lab)
- Debugging (date is tentative; may be deferred)
- Nov. 7
- Teamwork
Ethics and usability evaluation
- Nov. 9
- (by 11:59 PM)
- Team contribution report due
- Nov. 10
- TBD
- Nov. 12
- Ethics
- Nov. 13 (lab)
- None
- Nov. 14
- Usability studies
Practical Software Engineering
- Nov. 16
- (by 11:59 PM)
- Team contribution report due
- Nov. 17
- Internationalization (i18n), localization (l10n), and accessability (a11y)
- Project Sprint 2 ends
- Nov. 17 (discussion)
- none
- Nov. 19
- Program analysis
- Nov. 20 (lab)
- No lab
- Nov. 21
- Privacy
- Optional video: The Definition of Differential Privacy
- Homework Usability study
Practical Software Engineering
- Nov. 23
- (by 11:59 PM)
- Team contribution report due
- Nov. 24
- Intellectual property: copyright, licensing, and patents
- Nov. 24 (discussion)
- TBD
- Nov. 26
- What makes a great software engineer? Interviewing and hiring
- Optional reading: What makes a great software engineer?
- Project Sprint 3 ends
- Nov. 27 (lab)
- No lab
- Nov. 29
- Thanksgiving break (no class)
Demos
- Nov. 30
- (by 11:59 PM)
- Team contribution report due
- Dec. 1
- TBD
- Project Sprint 5 ends
- Dec. 1 (discussion)
- None
- Dec. 3
- Exam review: you bring the questions!
- Dec. 4 (lab)
- None
- Dec. 5
- Project showcase
- Homework Individual Reflection