Date Topic and Notes Assignments Reading For This Class
Wed Jan 03 What is Software Engineering?
[overview]
Some homeworks are posted.
Start early!
  • None! (First class.)
Mon Jan 08 Process, Risk and Scheduling
[overview]
Wed Jan 10 Measurement
[overview]
Mon Jan 15
MLK Day
Wed Jan 17 Quality Assurance and Testing
James Perretta, UMich
[qa, guest]
Mon Jan 22 Test Suite Quality Metrics
[qa]
HW 1a (Test Coverage) Due
Wed Jan 24 Test Inputs, Oracles and Generation
[qa]
Mon Jan 29 Code Inspection and Review
[qa]
HW 1b, 1c and 1d (Test Coverage) Due
Wed Jan 31 Dynamic Analysis Tools
[qa]
Mon Feb 05 Static & Dataflow Analysis (1/2)
[qa]
Wed Feb 07 Static & Dataflow Analysis (2/2)
[qa]
HW 2 (Test Automation) Due
Mon Feb 12 Defect Reporting and Triage
[bugs]
Wed Feb 14 Fault Localization and Profiling
[bugs]
Mon Feb 19 Debugging as Hypothesis Testing
[bugs]
Wed Feb 21 In-Class Exam #1
[exam]
HW 3 (Mutation Testing) Due (no Discussion Sections on Friday the 23rd)
Mon Feb 26
Vacation
Wed Feb 28
Vacation
Mon Mar 05 Requirements and Specifications
[design]
Wed Mar 07 Elicitation, Validation and Risk
[design]
Mon Mar 12 Patterns and Anti-Patterns
James Perretta, UMich
[design, guest]
HW 4 (Defect Detection) Due
Wed Mar 14 Refactoring and Search-Based Software Engineering
Marouane Kessentini, UMich
[guest]
Mon Mar 19 Designing for Maintainability
[design]
Wed Mar 21 Code Inspection and the Brain
[coding, qa]
Mon Mar 26 Productivity
(bring a coding laptop!)
[coding]
HW 5 (Debugging Automation) Due
Wed Mar 28 Pair Programming and Skill Interviews
[coding]
Mon Apr 02 Software Reliability Engineering at Google
Adam Brady, Google
[guest]
HW 6a (Contribution) Due
Wed Apr 04 Software Engineering at a Startup
Jason Mars, Clinc.
[guest]
Mon Apr 09 Multi-Language Projects
[coding]
Wed Apr 11 In-Class Exam #2
[exam]
(no Discussion Sections on Friday the 13th)
Mon Apr 16 Automatic Program Repair
[overview]
HW 6b (Contribution) Due