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

Calendar

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

Deliverables are listed on the days on which they are due except as noted.

Introduction and Rust

January 6
Introduction and motivation: software project failures

Reading Start reading “The Soul of a New Machine” by Tracy Kidder

January 8
Requirements

Reading Requirements engineering for software and systems, chapter 1; Reading response

January 10
Requirements elicitation activity

Reading Interviews and focus groups (Chapter 8 of Research Methods in Human-Computer Interaction)

Homework Interview questions

Code Review

Requirements

January 20
No class MLK Day
January 22
Elevator pitches (in-class activity)

Project Elevator pitch

January 24
Architecture 1

Reading On the criteria to be used in decomposing systems into modules (Parnas); Reading response

Process

January 27
Architecture 2

Reading Software Architecture in Practice, chapters 3 and 8 only (David Garlan and Mary Shaw)

Homework Property-based testing

January 29
Architecture 3

Project Requirements document & mockups

January 31
Usability studies

Reading Chapter 10, Research Methods in Human-Computer Interaction, 2nd Edition: Usability testing

Architecture

February 3
Agile practicum

Scrum activity handout

Reading Agile Manifesto

Reading (tentative) Ch. 2 of INCOSE Systems Engineering Handbook

February 5
Midterm exam
February 7
Security

Project Architecture diagrams

Design, Testing, and Security

February 10
Code quality: OOP

:

February 14
Design patterns 1

Project Sprint 1

February 16
Design patterns 2

Project Individual team collaboration report

Debugging and Teamwork

February 17
No class (Presidents’ Day)
February 19
Ethics

Project Sprint 2

February 21
Risk

Project Individual team collaboration report

Practical Software Engineering

February 24
Internationalization (i18n), localization (l10n), and accessability (a11y)

Homework Usability study

February 26
Teamwork

Project Sprint 3

February 28
Privacy

Optional video: The Definition of Differential Privacy

Project Individual team collaboration report

Practical Software Engineering

March 3
Discussion: Soul of a New Machine

Homework Soul of a New Machine response

March 5
What makes a great software engineer? Interviewing and hiring

Reading What makes a great software engineer?

Project Sprint 4

March 7
Program Analysis

Project Individual team collaboration report

Demos

March 10
Intellectual property: copyright, licensing, and patents
March 12
TBD
March 14
Midterm 2

Homework Individual Reflections