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

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)

Reading response

January 14
HCI 2: Usability studies

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

Reading response

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

Reading response

Team assignments will be announced.

Requirements

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

:

January 23
Peer vision feedback

Project Vision document

Process

January 26
Architecture 2: Model-view-controller

Reference: Wikipedia

January 28
Architecture 3: views and diagrams

Reading Documenting Software Architectures, Part 1 introduction, chapter 1, and chapter 2 through 2.4.

Reading response

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 (optional) Ch. 2 of INCOSE Systems Engineering Handbook

Reading response

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
Design patterns 1
February 13
Design patterns 2

Reading Design Patterns

Project Sprint 1 ends

Homework Skills check 1

Debugging and Teamwork

February 16
No class (Presidents’ Day)
February 18
Nielsen’s Heuristics

:

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 9
Intellectual property: copyright, licensing, and patents
March 11
Privacy

Optional video: The Definition of Differential Privacy

March 13
Midterm 2

Homework Individual Reflection