steam-powered turing machine uw

CSE 403: Software Engineering, Winter 2007

CSE Home About Us Search Contact Info

Current Announcements

  • [3/19] Course grades posted. Please contact us immediately if there is a problem with your grade. Thank you all for a great quarter!

  • [3/11] Final Exam posted.

  • [2/13] Group Surveys Updated: Our group surveys have been updated so that you can use them to give anonymous feedback about your group's SDS and future phases. After you submit each phase, each member should please fill out his/her group's survey: CAMPS, CellarSpot, ChatInTheHat, Dataverse, ITSUCS, Omnemail, Sign2Text, Sudoku, WeTrade.

Lecture Calendar

11 M 3/12 COVERED: Final Project Presentations

ASSIGNED: Final Exam pdf PDF doc DOC

     (optional) UI page to accompany question 3

10 F 3/9 COVERED: ppt What Happens After a Product Ships (guest speaker: Valentin Razmov)
Th 3/8 CLASS CANCELLED; meet with customers (TAs) instead, by appointment
W 3/7 COVERED: Industry Perspective on SWE (guest speaker: Amanda Camp)
M 3/5 COVERED: ppt Scheduling; ppt Factory and Flyweight Design Patterns
9 F 3/2 COVERED: ppt Intellectual Property Issues (guest speaker: Gail Alverson)
READ (#15): pdf about:blank, by M. Stepp;
     summary due Fri 3/2 in class
Th 3/1 COVERED: ppt Performance Profiling
     Java: HPROF (profiling in Java VM), HPjmeter (interprets HPROF files), TPTP (Eclipse profiler plugin)
     Javascript: Venkman (Firefox Javascript debugger/profiler)
     PHP: APD, Benchmark, DBG, Xdebug
     JSP: x.Link
     Ruby on Rails: ruby-prof
W 2/28 COVERED: ppt System Testing
     Web UI automation: Selenium
     Load testing: JMeter, curl-loader, DOTS, others
     Site monitoring: ExternalTest, StillUp, DotCom-Monitor, Internet Vista, others
     Web compatibility: W3C HTML validator, W3C link checker
     Test plans: Wikipedia, Template 1, Template 2, Template 3, Example (linux kernel), others
M 2/26 COVERED: more JUnit testing (,
8 F 2/23 COVERED: ppt Unit Testing with JUnit
LINKS: JUnit, NUnit (.NET), JsUnit (JavaScript), Simple Test (PHP), others
LINKS: Firebug (web debugging framework), Selenium (web app testing framework)
Th 2/22 CANCELLED (no class today!)
W 2/21 COVERED: ppt Testing (part 2)
M 2/19 Holiday; no class
ASSIGNED: pdf Homework 5: Final Product Release
READ (#14): pdf DevX: "Get Acquainted with JUnit 4" by A. Goncalves;
     (or, if you ask permission from the instructor,
     you may swap this for another reading more relevant to your project)

     summary due by Thu 2/22 11:59pm electronically, or Fri 2/23 in class
7 F 2/16 COVERED: ppt Personality Types and Avoiding Miscommunication (guest speaker: Valentin Razmov)
     Please complete this personality survey before coming to this class!
Th 2/15 COVERED: SDS presentations, continued
W 2/14 COVERED: ppt Testing (part 1); SDS presentations
M 2/12 COVERED: finish patterns; testing
(at least, that's what we WOULD have covered if Marty had been there!)
READ (#13): pdf Object-Oriented Software Engineering, Chapter 9: Testing (part 2) by B. Bruegge, A.H. Dutoit;
     summary due by Tue 2/13 11:59pm electronically, or Wed 2/14 in class
     (NOTE: This summary is now EXTRA CREDIT)
6 F 2/9 COVERED: discuss ZFR assignment; more patterns
ASSIGNED: pdf Homework 4: Zero-Feature Release (ZFR)
OPTIONAL READING: pdf Object-Oriented Software Engineering, Chapter 9: Testing (part 1) by B. Bruegge, A.H. Dutoit;
     (do not write a summary of this reading; it is optional)
Th 2/8 NO CLASS; meet with customers in CSE 466 (Marty) and CSE 203 (Brian, Saleema) instead
W 2/7 COVERED: more patterns and GUI; ppt Patterns: Singleton, Memento, Flyweight, Factory, Command
M 2/5 COVERED: more design by contract; ppt Design Patterns and GUI Programming (zip Tic-Tac-Toe code)
READ (#12): pdf "Simply Singleton" and "Make Your Apps Fly" by D. Geary;
     summary due by Tue 2/6 11:59pm electronically, or Wed 2/7 in class
5 F 2/2 COVERED: SRS presentations, continued; ppt Design by Contract
READ (#11): pdf Object-Oriented Design and Patterns, Chapter 5: Patterns and GUI Programming by C. Horstmann;
     summary due by Sun 2/4 11:59pm electronically, or Mon 2/5 in class
     (do this one, OR reading #12)
Th 2/1 COVERED: SRS presentations, continued
W 1/31 COVERED: Visit from RailPad group (SourceForge project);
     SRS presentations (shuffle tool, timer)

Useful tools mentioned by the RailPad team:

M 1/29 COVERED: ppt UML Sequence Diagrams (png example 1, png example 2)
ASSIGNED: pdf Homework 3: Software Design Specification (SDS)

READ (#10): (choose 1 of 2)
     Pragmatic Programmer, Chapter 4: Pragmatic Paranoia, pp. 107-118, 120-128
OR pdf Object-Oriented Design and Patterns, Chapter 3: Programming by Contract by C. Horstmann;
     summary due by Thu 2/1 11:59pm electronically, or Fri 2/2 in class

     UML Tools: Violet (Marty version), ArgoUML, ESSModel, Rational Rose, Visual Paradigm
     Introduction to UML 2 sequence diagrams
     UML sequence diagrams and Eclipse (IBM)
     Controller UML state diagram examples

4 F 1/26 COVERED: ppt UML Class Diagrams (png example 1, png example 2)
READ (#9): pdf UML Distilled, Chapter 4: Sequence Diagrams by M. Fowler;
     summary due by Sun 1/28 11:59pm electronically, or Mon 1/29 in class

*** You only need to do 1 out of the 2 "UML Distilled" readings. Decide which you want to read and turn in a summary on its corresponding due date. You may optionally choose to do both to make up for any summary you may have missed or received a low score on. ***

     Violet UML Editor (Marty's hacked version that spits out Java code)
     ppt Joshua Bloch - How to Design a Good API

Th 1/25 COVERED: ppt Object-Oriented Design Heuristics, continued;
     group resources
W 1/24 COVERED: ppt Object-Oriented Design Heuristics
READ (#8): pdf UML Distilled, Chapter 3: Class Diagrams by M. Fowler;
     summary due by Thu 1/25 11:59pm electronically, or Fri 1/26 in class
M 1/22 COVERED: ppt Usability; ppt Team Dynamics
READ (#7): pdf Object-Oriented Design Heuristics, Chapter 3: Topologies by A. Riel;
     summary due by Tue 1/23 11:59pm electronically, or Wed 1/24 in class
LINKS: Web Pages That Suck
3 F 1/19 COVERED: ppt User Interface Prototyping
READ (#6): (2 parts)
     1) Rapid Development, Chapter 13: "Team Structure" (you may skip Case Studies 13.1 and 13.2),
     2) Pragmatic Programmer, Chapter 8, section 41: "Pragmatic Teams";
     one combined summary due by Sun 1/21 11:59pm electronically, or Mon 1/22 in class
LINKS: User Interface Hall of Shame
Th 1/18 COVERED: Project Teams; Homework 2
ASSIGNED: pdf Homework 2: Software Requirements Specification ("SRS");
     due by Sun 1/28 11:59pm electronically, and/or Mon 1/29 in class
W 1/17 COVERED: ppt Requirements and Use Cases
READ (#5): (2 parts)
     1) html Paper Prototyping, by Carolyn Snyder,
     2) html Five Paper Prototyping Tips, by Matthew Klee;
     one combined summary due by Thu 1/18 11:59pm electronically, or Fri 1/19 in class
2 F 1/12 COVERED: Project Presentations, continued
ASSIGNED: Project Survey (fill out by Mon, 1/15, 11:59pm)
READ (#4): pdf Writing Effective Use Cases, Ch. 1, by Alistair Cockburn,
     pp. 2-15 (up to "1.4 When Use Cases Add Value");
     summary due Wed 1/17 in class or by Tue 1/16 11:59pm electronically
Th 1/11 COVERED: Project Presentations, continued
W 1/10 COVERED: Project Presentations (shuffle tool, timer)
READ (#3): Pragmatic Programmer, Chapter 7: Before the Project;
     summary due Fri 1/12 in class or by Sat 1/13 11:59pm electronically
M 1/8 COVERED: ppt Software Lifecycle Models
(no reading assignment, so that you can focus on finishing your proposals)
1 F 1/5 COVERED: ppt Classic Mistakes
READ (#2): Rapid Development, Chapter 7: Software Lifecycle Models;
     summary due Mon 1/8 in class or by Sun 1/7 11:59pm electronically
Th 1/4 COVERED: TA introductions; project proposal details; student survey (optional)
ASSIGNED: pdf Homework 1: Project Proposal;
     due by Tue 1/9 11:59pm electronically
W 1/3 COVERED: pdf Syllabus, pdf Summaries, ppt Introduction
READ (#1): Rapid Development, Chapter 3: Classic Mistakes;
     summary due Fri 1/5 in class or by Thu 1/4 11:59pm electronically


Contact Information

name: Marty Stepp Saleema Amershi Brian Harris
email: Marty's email address Sameera's email address      Brian's email address
AIM: UW CSE 403    
office: CSE 466 CSE 414  
office hours: MW 10:30 AM - 11:20 AM,
Tue 3:00 PM - 4:00 PM
or when office door is open,     
or by appointment
M 2:30 PM - 3:30 PM  
office phone: (206) 685-2181    
feedback: Send anonymous feedback to Marty, Saleema, and/or Brian