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
- 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
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
- 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