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.

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

Introduction and Rust

Sept. 30
Requirements
Homework Team matching survey

Optional reading: Requirements engineering for software and systems, chapter 3

Sept. 30 (lab)
HTML/CSS
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
Code quality: design patterns
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
Human-computer interaction 2

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
Testing
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
Architecture 2
Oct. 21 (lab)
More React practice
Oct. 21 (discussion)
Git
Oct. 23
Architecture 3
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
Security
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
Teamwork

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
Ethics
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
Program analysis
Nov. 22
Privacy

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
What makes a great software engineer? Interviewing and hiring
Optional reading: What makes a great software engineer?

Homework Usability study

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