Lecture 1 | March 28 | Overview | Anderson | PPT | |||
Lecture 2 | March 30 | Software Life Cycle | Anderson | PPT | Slides with Ink | ||
Section 1 | March 31 | The Fate of Software Projects; Desirable Qualities in Teammates | Razmov | PPT | Slides with Ink | ||
Lecture 3 | April 1 | Success Criteria | Anderson | PPT | Slides with Ink | ||
Lecture 4 | April 4 | Software Teams | Anderson | PPT | Slides with Ink | ||
Lecture 5 | April 6 | Requirements and Design | Notkin | PPT | |||
Section 2 | April 7 | Techniques for Gathering Requirements | Razmov | PPT | Slides with Ink | ||
Lecture 6 | April 8 | Best Practices of Software System Design (Part I) | Razmov | PPT | Slides with Ink | ||
Lecture 7 | April 11 | Motivation | Anderson | PPT | Slides with Ink | ||
Lecture 8 | April 13 | Is Software Different? | Anderson/Notkin | PPT | Slides with Ink | ||
Section 3 | April 14 | Best Practices of Software System Design (Part II) | Razmov | PPT | Slides with Ink | ||
Lecture 9 | April 15 | Risk Analysis | Anderson | PPT | |||
Milestone 1 | April 18 | Preliminary Design Presentations | Teams A and E | ||||
Lecture 11 | April 20 | Software Requirements Redux | Notkin | PPT | |||
Section 4 | April 21 | Prototyping; Common Mistakes to Avoid | Razmov | PPT | Slides with Ink | ||
Lecture 12 | April 22 | Design of Everyday Things | Anderson | PPT | Slides with Ink | ||
Lecture 13 | April 25 | Designing for Users | Anderson | PPT | |||
Lecture 14 | April 27 | Safety and Security Requirements | Anderson | PPT | |||
Section 5 | April 28 | Prioritization; Testing | Razmov | PPT | Slides with Ink | ||
Lecture 15 | April 29 | Design for Change (Part I) | Notkin | PPT | Slides with Ink | ||
Lecture 16 | May 02 | Usability @ Microsoft | Paul Elrif (guest) | PPT | |||
Lecture 17 | May 04 | Design for Change (Part II) - Information Hiding | Notkin | PPT | |||
Section 6 | May 05 | Testing in the Lifecycle; Influence Diagrams; Mistakes to Avoid | Razmov | PPT | Slides with Ink | ||
Lecture 18 | May 06 | Design for Change (Part III) - Families of Software Systems | Notkin | PPT | |||
Milestone 2 | May 09 | Preliminary Release Presentations | Teams B, C, and D | ||||
Lecture 20 | May 11 | Personality Types | Razmov | PPT | Slides with Ink | ||
Section 7 | May 12 | Test Planning; Feedback on Presentations/Demos; (Mis)communication Issues |
Razmov | PPT | Slides with Ink | ||
Lecture 21 | May 13 | Quality Assurance | Anderson | PPT | |||
Lecture 22 | May 16 | QA and Testing | Anderson | PPT | |||
Lecture 23 | May 18 | Test Development and Execution | Anderson | PPT | |||
Section 8 | May 19 | Dealing with Difficult Team Members; Test Planning; The Joel Test - 12 Steps to Better Code; Anticipating Changes |
Razmov | PPT | Slides with Ink | ||
Lecture 24 | May 20 | A Bug's Life | Anderson | PPT | |||
Milestone 3 | May 20 | Test Plans | All teams | ||||
Lecture 25 | May 23 | Refactoring | Razmov | PPT | Slides with Ink | ||
Lecture 26 | May 25 | Robust Programming | Anderson | PPT | Slides with Ink | ||
Section 9 | May 26 | Final Release Deliverables; Anticipating Change and Redesigning; When Is a Product 'Good Enough' |
Razmov | PPT | Slides with Ink | ||
Lecture 27 | May 27 | Course Retrospective | Anderson | PPT | |||
Milestone 4 (last) | June 01 | Final Release + Final Presentations/Demos | Teams E, D, and C | ||||
Section 10 | June 02 | 'Good Enough' Products; Mastery - the Keys to Success; The Future of Software Engineering and You |
Razmov | PPT | Slides with Ink | ||
Milestone 4 (last), cont. | June 03 | Final Presentations/Demos | Teams B and A |