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.

Not every reading will include a reading response. Check after the class immediately before the reading to see whether a reading response has been added. If not, you should still do the reading because the material may be covered in an in-class activity or on an exam.

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

Introduction and Rust

January 5
Introduction and motivation: software project failures

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

January 7
Requirements: elicitation

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

January 9
Requirements: specification

Reading Requirements engineering for software and systems, chapter 4. Reading response

Design and Testing

January 12
HCI 1: Prototyping

Reading The Power of Prototyping (video)

Reading A Spiral Model of Software Development (also available in the Files section of Canvas)

January 14
HCI 2: Usability studies, iteration

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

Project Requirements proposal

Project Team matching survey

January 16
Testing

Reading How SQLite Is Tested

Reading An empirical study of the reliability of UNIX utilities

Reading (optional) Property-Based Testing in Practice

Team assignments will be announced.

Requirements

January 19
No class MLK Day
January 21
Architecture 1: event-driven programming.

Reading TBD

January 23
Peer vision feedback

Project Vision document

Process

January 26
Architecture 2: Model-view-controller

Reading TBD

January 28
Architecture 3: views and diagrams

Reading TBD

January 30
Process models

Project Mockups

Architecture

February 2
Agile practicum

Scrum activity handout

Project Sprint 1 starts; backlog must be populated.

Reading Agile Manifesto

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

February 4
Midterm exam
February 6
Code Review

Reading (optional) Expectations, outcomes, and challenges of modern code review

Design, Testing, and Security

February 9
Code quality: OOP

February 11 :

February 13
Design patterns 1

Reading Design Patterns

Project Sprint 1 ends

Homework Skills check 1

Debugging and Teamwork

February 16
No class (Presidents’ Day)
February 18
Design patterns 2

Homework Property-based testing (deadline is tentative)

February 20
Ethics

Practical Software Engineering

February 23
Risk
February 25
Teamwork
February 27
Security

Project Sprint 2 ends

Homework Skills check 2

Practical Software Engineering

March 2
Discussion: Soul of a New Machine

Reading Soul of a New Machine response

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

Reading What makes a great software engineer?

March 6
Program Analysis

Project Project complete (bug fixes only this week)

Homework Skills check 3

Exam

March 10
Intellectual property: copyright, licensing, and patents
March 11
Privacy

Optional video: The Definition of Differential Privacy

March 14
Midterm 2

Homework Individual Reflection