• Dates in the schedule are for live lectures (Section 001).
  • Lecture recordings will be made available shortly after the live lecture -- both Section 001 and Section 002 students will have access to the recordings.
  • If a Section 001 lecture is canceled (e.g., due to MLK), by default the following Section 002 meeting will also be canceled.
  • Date Topic and Notes Assignments Reading For This Class
    Jan 4 Wed What is Software Engineering?
    [overview]
    (no attendance/participation check, for both sections)
    Some homeworks are posted.
    Start early!
    Jan 9 Mon Process, Risk and Scheduling
    [overview]
    (no attendance/participation check, for both sections)
    Quiz 0 Due
    (future reading quizzes may not be posted on this page)
    Jan 11 Wed Measurement
    [overview]
    (no attendance/participation check, for both sections)
    HW 0 (Dev Setup) Due

    A sample non-graded reading quiz due
    (see Gradescope)
    Jan 16 Mon — (No Class: MLK)
    Jan 18 Wed Quality Assurance and Testing
    [qa]
    HW 1a (Test Coverage) Due
    Jan 23 Mon Test Suite Quality Metrics
    [qa]
    Jan 25 Wed Test Inputs, Oracles and Generation
    [qa]
    HW 1b, 1c and 1d (Test Coverage) Due
    Jan 30 Mon Code Inspection and Review
    [qa]
    Feb 1 Wed Dynamic Analysis Tools
    [qa]
    Feb 6 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 8 Wed Daniel Hoekwater (Google)
    [guest]
    Feb 13 Mon Defect Reporting and Triage
    [bugs]
    (putting off HW 3 typically works poorly for students)
    Feb 15 Wed Static & Dataflow Analysis (1/2)
    [qa]
    You should pretend that HW 3 (Mutation Testing) is Due: studying for the exam while completing HW 3 is difficult
    Feb 20 Mon Static & Dataflow Analysis (2/2)
    [qa]
    HW 3 (Mutation Testing) Due
    Feb 22 Wed Fault Localization and Profiling
    [bugs]
    Feb 24 Fri Exam #1 Due
    (you pick a 2-hour window within this 24-hour day)
    Feb 27 Mon — (No Class: Vacation)
    Mar 1 Wed — (No Class: Vacation)
    Mar 6 Mon Debugging as Hypothesis Testing
    [bugs]
    (looking into HW 6a projects early on improves outcomes)
    Mar 8 Wed Requirements and Specifications
    [design]
    HW 4 (Defect Detection) Due
    Mar 13 Mon Elicitation, Validation and Risk
    [design]
    Mar 15 Wed Designing for Maintainability
    [design]
    (we recommend overlapping HW 6a with HW 5)
    Mar 20 Mon Patterns and Anti-Patterns
    [design]
    HW 5 (Debugging Automation) Due
    Mar 22 Wed Automatic Program Repair
    [overview]
    Mar 27 Mon Program Synthesis (Part 1)
    [overview]
    Mar 29 Wed Program Synthesis (Part 2)
    [overview]
    HW 6a (Contribution) Due
    Apr 3 Mon José Cambronero (Microsoft) (slides)
    [guest]
    Apr 5 Wed Productivity
    (bring a coding laptop!)
    [coding]
    Apr 10 Mon Multi-Language Projects
    [coding]
    Apr 12 Wed Roscoe Bartlett
    (Sandia National Laboratories)
    (slides)
    [guest]
    Apr 17 Mon Off-Topic: Software Engineering Practices in Scientific Computing (slides)
    [other]
    You Should Pretend HW 6b (Contribution) is Due (see below about no late submissions)
    Apr 20 Thu Exam #2 Due
    (you pick a 2-hour window within this 24-hour day)
    Apr 21 Fri HW 6b (Contribution) Due

    All Course Materials Due

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