This course deals with the processes involved in software development, from requirements analysis through design, implementation, and verification. We discuss ways to organize and manage work as well as technical design models. A major portion of the course activity is the development of real software products in teams of about four students each.
Robert Keller 242 Olin (office hours 3-4 MW, 4-5 p.m. Tu, or whenever), keller@cs.hmc.edu, x 18483
Rigorous introduction to the technological and managerial discipline concerned
with the design and implementation of large software systems. Techniques for
software specification, design, verification, and validation. Formal methods
for proving the correctness of programs. Students working in teams are required
to design, implement, and present a substantial software project.
Prerequisites: Computer Science 70 and 80.
Homework and quizzes(40%), presentation (10%), team software development project (50%)
(OOSE) Bernd Bruegge and Allen H. Dutoit, Object-Oriented Software Engineering, Prentice-Hall, 1999, ISBN 0-13-671710-1.