Department of Computer Science Bowdoin College Spring 1991 CS365--Formal Methods and Software Systems Seminar Syllabus This course contains readings, case studies, and laboratory work with recent concepts in software design and evaluation. Object-oriented design strategies will be emphasized, and laboratory work will exercise concepts developed in class. A careful treatment of testing, team projects, specifications, debugging, verification, documentation, and maintenance will be done. A final project involving the design and implementation of a substantially large software system will serve as a capstone experience for the course. Meeting Times: TTh 12:30 (210 Adams) Special lab meetings may be arranged as needed. Instructor: Allen Tucker (211 Adams) Office hours: any time M-F, by mutual arrangement Text (to be purchased): Meyer, Bertrand, Object-oriented Software Construction, Prentice-Hill, 1988. Supplementary Readings: 1. Brooks, Fred, The Mythical Man-month, Addison-Wesley, 1975. 2. Pressman, Roger, Software Engineering, 2nd edition, McGraw-Hill, 1987. Course Outline: Week of Topics Readings 1/21 Software quality issues: reliability, Meyer ch 1, 2 complexity, reuse, effectiveness Pressman ch 1 1/28 Software design paradigms: the classic Meyer ch 3, 4 life cycle, prototyping, object-oriented Pressman ch 2,3 2/4 Eiffel: basic features--classes and objects Meyer ch 5 2/11 Eiffel: generics, invariants, assertions Meyer ch 6, 7 2/18 Eiffel: syntax, class interfaces Meyer ch 8, 9 2/25 Eiffel: inheritance Meyer ch 10, 11 3/4 Object-oriented design: case studies Meyer ch 12-14 3/11 and techniques Test #1 3/18 Spring vacation 3/25 4/1 Team project: initial design Pressman ch 6,9 4/8 Team project: object and interface definitions 4/15 Team project: implementation and testing Pressman ch 13 4/22 Team project: documentation and oral reports 4/29 Retrospective: comparison of object Brooks ch 1-15 oriented with alternative software design methods 5/6 Reading period: Team projects due 5/13 Test #2