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; |
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 | |