Date Topic and Notes Assignments Reading For This Class
Jan 8 Wed What is Software Engineering?
[overview]
(no attendance check)
Some homeworks are posted.
Start early!
Jan 13 Mon Process, Risk and Scheduling
[overview]
(no attendance check)
Quiz 0 Due
(future reading quizzes may not be posted on this page)
Jan 15 Wed Measurement
[overview]
(no attendance check)
HW 0 (Dev Setup) Due
Jan 20 Mon — (No Class: MLK)
Jan 22 Wed Quality Assurance and Testing
[qa]
HW 1a (Test Coverage) Due
Jan 27 Mon Test Suite Quality Metrics
[qa]
Jan 29 Wed Test Inputs, Oracles and Generation
[qa]
HW 1b, 1c and 1d (Test Coverage) Due
Feb 3 Mon Dynamic Analysis Tools
[qa]
Feb 5 Wed Code Inspection and Review
[qa]
Feb 10 Mon Pair Programming and Skill Interviews
[coding]
HW 2 (Test Automation) Due
(reminder: assignments are due at this time even if there are temporary power or networking issues)
Feb 12 Wed Defect Reporting and Triage
[bugs]
Feb 17 Mon Static & Dataflow Analysis (1/2)
[qa]
Note that HW3 is due before Exam 1.
Feb 19 Wed Static & Dataflow Analysis (2/2)
[qa]
Feb 24 Mon Fault Localization and Profiling
[bugs]
HW 3 (Mutation Testing) Due
Feb 26 Wed Guest Lecture by Natalia Sánchez Rocafort (Darktrace, UM alum!) (slides)
[guest]
Feb 28 Fri Exam #1 Due
(you pick a 2-hour window within this 24-hour day)
Mar 3 Mon — (No Class: Break)
Mar 5 Wed — (No Class: Break)
Mar 10 Mon Debugging as Hypothesis Testing
[bugs]
(looking into HW 6a projects early on improves outcomes)
Mar 12 Wed Requirements and Specifications
[design]
Mar 17 Mon Guest Lecture by José Cambronero (Google) (slides)
[guest]
HW 4 (Defect Detection) Due
Mar 19 Wed Elicitation, Validation and Risk
[design]
Mar 24 Mon Guest Lecture by TBD (slides)
[guest]
We recommend overlapping HW 6a with HW 5.
Mar 26 Wed Guest Lecture by Jiayi Wei (Augment Code) (slides)
[guest]
Mar 31 Mon Designing for Maintainability
[design]
HW 5 (Debugging Automation) Due
Apr 2 Wed Patterns and Anti-Patterns
[design]
Apr 7 Mon Productivity
(bring a coding laptop!)
[coding]
Apr 9 Wed Multi-Language Projects
[coding]
HW 6a (Contribution) Due
Apr 14 Mon Automatic Program Repair
[overview]
Apr 16 Wed Program Synthesis (Part 1)
[overview]
Apr 21 Mon Program Synthesis (Part 2)
[overview]
Apr 24 Thu Exam #2 Due
(you pick a 2-hour window within this 24-hour day)
Apr 25 Fri HW 6b (Contribution) Due

All Course Materials Due

(cannot be accepted later than this, please plan accordingly)