CSE503: Software Engineering

David Notkin
University of Washington, Computer Science & Engineering
Winter 2008

Last Updated: 02/22/2008 03:42 PM

Recent changes:

  1. Alloy assignment.
  2. Feb 19 slides on Lackwit, Daikon, etc. (better viewed in IE right now...another format coming)
  3. I am in Washington DC on Monday-Tuesday February 25-26 for the CRA Board meeting.  Tuesday's class will consist of watching a video of Michael Jackson's keynote address from ICSE 1995.
  4. Alloy assignment will be (a) in groups, if you want (maximum of three), (b) on the elevator specification, and (c) due March 6.
  5. Notes on analysis.
  6. Slides on formal methods and model checking.
  7. Slides on design history
  8. More papers to read listed below.
  9. Summary of "open questions" and initial design slides.
  10. My research slides and Marius' configuration research slides.
  11. Pro/con documents from debates posted below.
  12. Send me "votes" on the debate that you watched but did not participate in.
  13. Remember: By  January 22, each of you must individually email to us a set of 3-5 bullets on what you find are key open questions about software engineering/software engineering research after the readings, writings, and debates.
  14. Most strikeouts removed.
  15. cse503@cs.washington.edu mailing list activated.
  16. Course has moved to CSE 203.
  17. We will only have two groups for the "debate" day -- the second ("crisis") and third ("empirical"); in class on Thursday people will sign up for preferred groups and I'll make the final assignment later Thursday by email.
  18. The day of the "debates", and the due day for the document, is shifted to Thursday January 17 -- two days later.  Some other dates have been adjusted as well.

(Last things first) Final Examination:  By University rule, an instructor is allowed to dispense with a final examination at the scheduled time (10:30-11:50AM, March 17, 2008) only with unanimous consent of the class.  If you prefer to have a final examination for the entire class, you must let me know by 10:30AM before the third lecture (January 15, 2008).

Contact information and office hours: notkin@cs.washington.edu , CSE 542, x5-3798.  I prefer not to have specific office hours, but I am happy to have drop-ins whenever my door is open, and I am usually able to set up meetings on quite short notice to answer questions, have discussions, etc., with individuals or groups.  (If the class prefers to have regularly scheduled office hours, I'm happy to do that.)

TA: Marius Nita (marius@cs.washington.edu)

Location and time: CSE 203, 10:30-11:50AM Tuesday and Thursday

Syllabus and required work:  

Is software engineering really "engineering"?  Should software engineers be licensed?  Is there really a software crisis?  What is software engineering research?  How do we evaluate such research?  Has software engineering improved over the past 40 years?  Why do software systems fail so often?  Why are they so costly?  Isn't "agile" or "aspect-oriented" or "end-user" or "types" or something else actually the silver bullet?  What are some "cool" research results, "hot" industrial tools and approaches, etc.?  The goal of this course is to get you to develop your own rational, thoughtful, well-reasoned answers to these questions -- I already have my own points of view, of course!

The lecture schedule is divided into the following topics, which are by no means intended to be a complete representation of the field.  It is also a fluid list -- in particular, if there is a strong feeling among the class that there are other topics we ought to cover instead, I'll look seriously at those ideas.  And the specifics are subject to change, regardless.