CSc 365---Software Engineering is the foundation course in Software Engineering offered by the Department of Computer Science at the University of Victoria. CSc 365 is a required course for Computer Science and Computer Engineering majors. The course is delivered over a thirteen-week period and consists of three lecture hours and one two-hour laboratory per week. The prerequisites are two programming courses and a course in algorithms and data structures.
D. Parnas taught CSc 365 from its inception in 1981 until 1985. Since 1986, D. Hoffman has been the principal instructor. The past two offerings of CSc 365 have been given by P. Walsh. Whereas Parnas and Hoffman both have strong backgrounds and extensive experience in Software Engineering, Walsh's background is in VLSI design and test, with no formal training in Software Engineering. Condensed versions of CSc 365 have also been taught to industrial personnel at IBM (Toronto, Canada) and BNR (Ottawa, Canada), and at a number of smaller software development companies. Short courses have been presented at the Wang Institute and the Hartford Graduate Center.
In the next three subsections, we attempt to provide a clear idea of what it is like to teach a document-driven approach to software development. Each subsection presents a particular exercise assigned in the January--April 1994 offering of CSc 365. P. Walsh was the instructor; there were 52 students.