CSE logo University of Washington Department of Computer Science & Engineering
 CSE403 Syllabus (Autumn 1999)
  CSE Home  About Us    Search    Contact Info 

 CSE403 Au99 Home Page

   
 Expected Work
 Grading Policy
 Reading Material
   

The prerequisites are included for the material they covered as well as for the maturity in programming and software issues that are important for this course.  This course has one primary learning objective: to learn that engineering high-quality software products is not a mere matter of programming.  There are many secondary learning objectives, which we will discuss explicitly over the quarter.

As mentioned in the catalog description and as described on the project page, the central vehicle for the primary learning objective is a group project that spans activities from requirements specification through implementation.  The lecture schedule is heavily structured in terms of just-in-time lecturing, where we present material before you need it for the project (but not much before, in many cases).   We will use several of the class sections and perhaps some lectures for reviews by the project groups.  In general, we expect each group to make approximately three review presentations during the quarter.  The final two weeks of lecture will cover a variety of general topics, with some of them presented by guest lecturers.   If you have suggestions for topics, please let us know early in the quarter.

Expected work

  1. Attending lecture and section; we will not take attendance, but you are responsible for the material presented and discussed.
  2. Reading the literature we assign.
  3. Committed and serious participation in your group project, including the documentation, reports, and coding, as well as required project reviews.
  4. Taking a set of quizzes we will give on a bi-weekly basis (5 quizzes in the quarter).

Grading Policy

Your grade in the course will be determined as follows:

  • Your project grade accounts for 80% of your final grade
    • The grade on the project is heavily subjective.
    • Group members will not necessarily receive identical grades.
    • Approximately four-fifths of the project grade will be based on achievement of milestones during the quarter, with the remaining fifth based on the resulting project.
  • Your quizzes account for 20% of your final grade.
    • They will cover material from the readings, from lecture, etc.  Your three best quizzes will be weighted fully, while your two weakest quizzes will be weighted at 50% each.

Intangibles, such as class participation, genuine interest, etc., may affect your grade as well.

Reading Material 

In a strict sense, there is no textbook for the course.  That is, we have chosen not to use one of the commonly used software engineering textbooks for the course.  The reason is that, overall, we are dissatisfied with these texts; to be fair, we don't have an idea about how to write a better one, however.

Instead, we'll use a set of papers (and one book, not a text) from the literature.  These don't cover, in any sense, the full discipline of software engineering.  I'll try to augment these readings with lectures, lecture notes, and a set of pointers to resources on the web.  The reading schedule is found on the class schedule.

  • F. Brooks, Jr., The Mythical Man Month.
  • B.W. Boehm, A Spiral Model of Software Development and Enhancement, Computer, 21(5), May 1988.
  • D.L. Parnas, On the Criteria To Be Used in Decomposing Systems into Modules, Communications of the ACM, 15 (12), December 1972.
  • E. Gamma, R. Helm, R. Johnson and J. Vlissides, Design Patterns: Abstractions and Reuse of Object-Oriented Design, Proceedings of ECOOP '93, 1993.
  • B.W. Boehm.  Software Engineering.  IEEE Transactions on Computers C-25,12, December 1975.
  • D. L. Parnas.  On the design and development of program families.  IEEE Transactions on Software Engineering, SE-2,1, March 1976.
  • D.L. Parnas. Software Aging. In Proceedings of the 16th International Conference on Software Engineering, Sorrento, Italy, 1994, pp. 279-287.
  • G.D. Bergland. A Guided Tour of Program Design Methodologies. Computer, October 1981, p. 18-37.

The readings are required with two objectives in mind.  First, they provide the best descriptions and discussions available of some basic principles and notions of software engineering.  Second, they will provide some insights about how to proceed with your project. 


CSE logo Department of Computer Science & Engineering
University of Washington
Box 352350
Seattle, WA  98195-2350
(206) 543-1695 voice, (206) 543-2969 FAX
[comments to notkin@cs.washington.edu]