Skip to main content Link Search Menu Expand Document (external link)

Calendar

Deliverables marked Project should be delivered by the team. Deliverables marked Homework should be completed individually.

Introduction

Event-Driven Systems and Requirements

Requirements, Testing, and Design

Process and code quality

Oct. 12
(by 11:59 PM)
Team contribution report due
Oct. 13
Process
Project Requirements and design document
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)
Advanced Konva
Oct. 17
Architecture: views; Code quality: low-level choices, OOP (part 1)

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