Lecture Slides | Links | Current Projects | Project Opportunities | Past Projects

Harvey Mudd College
Spring 2002
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 2-4 TuTh, or whenever I'm in, which is a lot), keller@cs.hmc.edu, x 18483

Graders

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

Class participation (15%), Homework and quizzes(30%), Oral midterm exam (15%), Team software development project (40%)

Participation will include making a presentation on a current software development topic. Failure to show up for class means that your participation component takes a major hit, enough to bring you down a letter grade or more. The oral exam will be conducted one-on-one and will be based on presentation and assigned reading topics.

Textbook

The required text is:

Outline

Backets [...] denote assigned reading of pages in Larman.
UML = "Unified Modeling Language".

Other Useful References: