Lecture Slides | Links | turing | Project Time Table | Previous Projects | Projects | Timetable (.pdf)

Harvey Mudd College Spring 2001

Computer Science 121: Software Development

What this course is about

This course deals with the processes involved in software development, from requirements specification and analysis, on through design, implementation, and verification. We discuss ways to organize and manage work processes 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.

Instructor

Bob Keller, 1242 Olin (office hours 3-4 MW, 4-6 p.m. Tu, or whenever I am around, which is most of the time except for Friday), keller@cs.hmc.edu, x 18483

Grader

Eric Huang, ehuang@cs.hmc.edu

Catalog Description

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.

Requirements and Grading

Weekly assignments (30%), participation (15%), team software development project (40%), late mid-term exam (15%)

Outline

Textbook

At present, I haven't found a textbook that I consider ideal, so there is no required textbook. I plan to assign some readings on the web. If you want to get some reasonable texts, I suggest the following. Copies will also be on reserve in Sprague Library.