CSE iconCSE logo
University of Washington Computer Science and Engineering

Note that this schedule may change somewhat as the quarter goes on, depending on our progress through the topics, guest schedules, and so on. We expect that once assignment dates are specified, they will remain as shown; however we may change them if events warrant.

Date Day Topic for Discussion in Class Reading Homework Assignments and Project Milestones Notes
Jun 19 Mon What Makes Great Engineers (guest lecture by Gail Alverson) (pdf, video (zip, 90MB)) "Care about your craft!"
Guest: Gail Alverson (Cray)
Jun 20 Tue      
Jun 21 Wed Course Overview (ppt, pdf, ink, video (zip, 95MB)) Find out what the course is about!
Jun 22 Thu Software Lifecycle Models (ppt, pdf, ink, video (zip, 90MB)) RD: Ch. 7, 25
Optional: RD: Ch. 21, 35, 36, 20
One of the quintessential ideas in software engineering
Jun 23 Fri Lifecycle Objectives (LCO) Review (ppt, pdf, ink, video (zip, 97MB)) Boehm paper;
Recommended: "Ideas for Startups" by Paul Graham (web, pdf)
Group assignment #1: LCO Discussion of what makes a project proposal
 
Jun 26 Mon Pitching Project Ideas (ppt, pdf, ink, video (zip, 97MB)) DM: pp.43-51;
PP: Ch. 1 (section 6), 10.3;
Value Proposition
How to successfully pitch an idea: advice applicable to your project but, more importantly, to your careers too.
Jun 27 Tue
Jun 28 Wed Lessons from the History of Software Development (Part I) (ppt, pdf, ink, video (zip, 96MB)) RD: Ch. 3.3 Group assignment #1: LCO due by 10pm;
Turn-in link
When and why does software development fail? Is software different (from other engineering disciplines)?
Jun 29 Thu LCO (Project Proposal) Presentations Project Preferences due by 10pm;
Turn-in link
All groups present their project proposals in class; then everyone votes which project they'd like to work on
Jun 30 Fri LCO Retrospective;
Team Formation;
Team Conversations (Team OpEnSpaCe, TeamForge);
Lifecycle Architecture (LCA) Review: a brief overview (ppt, pdf, ink, video (zip, 103MB))
DM: pp.52-57, pp.197-199;
"Constitutive Conversations of Teams" (handout)
Individual assignment #1 The selected projects and project teams have been announced.
 
Jul 3 Mon Lifecycle Architecture (LCA) Review (ppt, pdf, video (zip, 97MB, before 38:00));
Team Environment Issues (Part I) (ppt, pdf, ink, video (zip, 97MB, after 38:00))
Boehm paper (pp.1-10),
DM: pp.56-57;
RD: Ch. 12.3, 12.5, 13 (pp.311-314)
LCO feedback meetings with groups Team conversations done early in a project save many headaches later.
Jul 4 Tue Group assignment #2: LCA Happy Independence Day!
Jul 5 Wed Team Environment Issues (Part II) (ppt, pdf, ink, video (zip, 95MB, before 39:50));
Techniques for Requirements Gathering and Specification (Part I) (ppt, pdf, ink, video (zip, 95MB, after 39:50))
RD: Ch. 10, 12.3, 12.5, 13 (pp.311-314), 14.1
PP: Ch. 7, 8 (section 41: pp.224-230)
LCO feedback meetings with groups Transitioning into the core technical material, starting with requirements gathering
Jul 6 Thu Techniques for Requirements Gathering and Specification (Part II) (ppt, pdf, video (zip, 86MB, before 47:30));
Software Architecture (Part I) (ppt, pdf, ink, video (zip, 86MB, after 47:30))
RD: Ch. 10, 14.1;
PP: Ch. 2 (sections 10, 11), Ch. 7;
"Risk Reduction through Prototyping" (handout)
How to effectively communicate regarding requirements and architectural decisions
Jul 7 Fri Software Architecture (Part II) (ppt, pdf, ink, video (zip, 91MB, before 16:40));
Core Principles and Best Practices for Software Design (Part I) (ppt, pdf, ink, video (zip, 91MB, after 16:40))
PP: Ch. 2 (sections 7, 8, 9), Ch. 5 (sections 26, 29);
"Design Smells" (handout);
Code Complete, Ch. 5: Design (see link under 'Useful Resources')
Individual assignment #1 due by 10pm;
Turn-in link
Discussion of time-tested software design practices
 
Jul 10 Mon Usability Design Principles (ppt, pdf, video download (zip, 81MB), streaming video, WebViewer (both slides and video)) Some principles of designing usable systems.
Jul 11 Tue LCA presentations due by 10pm by email
Jul 12 Wed LCA (spec + design + test plan) Presentations;
LCA/Design Review
Attending Guests: Gail Alverson, Marty Stepp, and Jim Bullock
Jul 13 Thu LCA/Design Review & Retrospective (audio (before 29:30));
Core Principles and Best Practices for Software Design (Part II) (ppt, pdf, ink, audio (after 29:30))
PP: Ch. 2 (sections 7, 8, 9), Ch. 5 (sections 26, 29);
Code Complete, Ch. 5: Design (see link under 'Useful Resources')
Group assignment #2: LCA due by 10pm;
Turn-in link
[Guest feedback was emailed to each team.]
Further exploration into some of the more advanced -- but essential -- design principles.
Jul 14 Fri Zero-Feature Release (guest lecture by Jim Bullock) (lecture notes (txt), ppt, pdf, video (zip, 96MB)) PP: Ch. 8 (sections 42, 43), Ch. 27;
Other references on zero-feature release and iterative development
Group assignment #3: Zero-Feature Release Guest: Jim Bullock (Rare Bird Enterprises) -- on the importance of doing early component integration, before code is written.
"Assume that the tool chain is broken until you can demonstrate otherwise."
 
Jul 17 Mon Upcoming Milestone Deliverables;
Core Principles and Best Practices for Software Design (Part III) (ppt, pdf, ink, video (zip, 100MB))
PP: Ch. 2 (sections 7, 8, 9), Ch. 5 (sections 26, 28, 29);
Code Complete, Ch. 5: Design (see link under 'Useful Resources')
Individual assignment #1 follow-up responses due by midnight; email to Lincoln The final set of introductory design principles
Jul 18 Tue
Jul 19 Wed Testing (ppt, pdf, video download (zip, 91MB), streaming video, WebViewer (both slides and video)) PP: Ch. 6 (section 34) + see 'Useful Resources' Group assignment #3: Zero-Feature Release due by 10pm
Jul 20 Thu Zero-Feature Release Demos/Presentations This is the halfway point in the quarter.
Jul 21 Fri Zero-Feature Release Retrospective;
Unit Testing (with Examples) (ppt, pdf, video download (zip, 96MB), streaming video, WebViewer (both slides and video), JUnit example code)
PP: Ch. 6 (section 34) + see 'Useful Resources' Peer review #1 announced Here is the idea behind peer reviews.
 
Jul 24 Mon Midterm exam (in class) Sample midterm exam (05su), Sample final exams (05su, 06sp) Peer review #1 due by 10pm Midterm exam and sample solutions;
Midterm exam statistics
Jul 25 Tue
Jul 26 Wed Deliverables in Upcoming Milestones;
Risk Management (ppt, pdf, ink, video (zip, 100MB))
RD: Ch. 5, 41; optional: Ch. 27;
Note Table 5.2 and Table 5.6!
DM: pp.192-196
Peer review #1: usefulness feedback due by 10pm It's ALL about risk management.
Jul 27 Thu Midterm Exam Statistics;
Scheduling, Estimation, and Prioritization (Part I) (ppt, pdf, ink, video (zip, 99MB))
RD: Ch. 8, 9, 29, 32;
DM: pp.175-177, pp.185-186;
"Influence Diagrams" (handout)
A crash course in important project management skills
Jul 28 Fri Personality Types and Miscommunication Issues (Part I) (ppt, pdf, ink, video (zip, 99MB)) MBTI Personality Type Test: take it before class and come to class with your results recorded (e.g., I:11%, N:55%, F:33%, P:22%);
RD: Ch. 11.1
A Cheat Sheet on the Myers-Briggs Personality Test (handout)
Peer review #1: see how useful others found your peer reviews for them There are many different valid views of the world! Respecting those views that differ from ours allows us to integrate each other's contributions into something bigger.
 
Jul 31 Mon Scheduling, Estimation, and Prioritization (Part II) (ppt, pdf, ink, video (zip, 97MB))
Personality Types and Miscommunication Issues (Part II) (ink)
RD: Ch. 8, 9, 29, 32;
DM: pp.175-177, pp.185-186;
"The Mythical Man-Month", Ch. 2 (handout)
"Adding more people to a late project makes it later." -- Fred Brooks
Aug 1 Tue Group assignment #4: Beta Release due by 10pm
Aug 2 Wed Beta Release Presentations/Demos Individual Assignment #2 assigned Attending guests: Gail Alverson and Jim Bullock
Aug 3 Thu Beta Release Retrospective;
Design Patterns (Part I) (ppt, pdf, video (zip, 98MB))
Good solutions (patterns) that have stood the test of time
Aug 4 Fri Inside the Tester's Mind: Describing Exploratory Testing Skill (guest lecture by Jonathan Bach) (ppt, pdf, video (zip, 95MB), resources) www.satisfice.com;
Satisfice Heuristic Test Strategy Model
How to do unrehearsed, unscripted, simultaneous test and execution;
Guest: Jonathan Bach (Quardev Labs)
 
Aug 7 Mon Design Patterns (Part II) (ink);
Software Quality (Part I) (ppt, pdf, ink, video (zip, 101MB))
DM: pp.127-129 Beta Release feedback meetings with teams;
Group assignment #5: Final Release Deliverables
The crucial idea of "good enough" quality
Aug 8 Tue Beta Release feedback meetings with teams
Aug 9 Wed Software Quality (Part II);
Refactoring (Part I) (ppt, pdf, ink, video (zip, 95MB))
http://www.refactoring.com/catalog/;
PP: Ch. 6 (section 33)
"... does not alter the external behavior of the code yet improves its internal structure" -- Martin Fowler
Aug 10 Thu Refactoring (Part II) (ink);
Software Maintenance and Code Reviews (ppt, pdf, ink, video (zip, 102MB))
RD: Ch. 4.3, 23 Why refactoring is always a good idea
Aug 11 Fri Configuration Management (ink);
Conflict Management (Part I) (ppt, pdf, ink, video (zip, 100MB))
PP: Ch. 3 (section 17), p. 271;
DM: Ch. 3;
RD: Ch. 9.2, 11.4, 12.4, 29; "Speech Acts" (handout)
Individual assignment #2 due by 10pm;
Turn-in link
Every problem is also an opportunity.
Attending guest: Gail Alverson
Aug 13 Sun Group assignment #5: Final Release due by 10pm;
Turn-in link
Aug 14 Mon Final Release Presentations/Demos RD: Ch. 10.3 Peer review #2 The results of two months of hard work by both teams are now visible.
Attending guest: Marty Stepp
Aug 15 Tue Peer review #2 due by noon (12pm);

Final take-home exam assigned (RTF, PDF)

Aug 16 Wed Final Release Retrospective (ink);
Conflict Management (Part II);
Intellectual Property Issues (Part I) (ppt, pdf, video (zip, 94MB))
DM: Ch. 3;
RD: Ch. 9.2, 11.4, 12.4, 29
Individual assignment #2: follow-up responses due by 10pm Tips on how to prevent or resolve bad conflict, while using good conflict to your advantage!
Aug 17 Thu Intellectual Property Issues (Part II);
Lessons from the History of Software Development (Part II) (ppt, pdf, video (zip, 97MB))
RD: Ch. 3.3;
"Software Engineering Code of Ethics and Professional Practice" (handout)
Final Release feedback meetings with teams;

Final take-home exam due by 10pm electronically;
Turn-in link

A primer on some legal concepts affecting software. The legal domain is very dynamic and regulations can be quite complex to navigate, so specialists are often needed.
Aug 18 Fri Lessons from the History of Software Development (Part III);
Course Retrospective (ppt, pdf, ink)
Final take-home exam due in class on paper;

Peer review #2: viewing and usefulness feedback due Sat, Aug 19, by noon (12pm);

Final questionnaire due Sat, Aug 19, by noon (12pm)

The main take-away points of the course, from students' perspectives and from the instructor's perspective
 
Last modified: Mon, Aug 21, 2006