Harvey Mudd College
Computer Science
Spring 2003

CS121: Software Development

Lecture:

T&Th 1:15-2:30, LAC

Professor:

Z Sweedyk
2341 Olin, x78360
Mail: z@cs.hmc.edu
Office hours: MW 1-3

Course mailing list:

cs-121-l@hmc.edu

Tutors/Graders:

Aja Hammerly: aja_hammerly@hmc.edu
Ed Heaney: eheaney@hmc.edu

What This Course is About

This course deals with the processes involved in software development, from requirements specification and analysis through design, implementation, and testing. 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 three students. The specific types of software projects we'll develop in this course will be computer games. Each team will develop a 2D arcade game, a 3D miniature golf game, and a third game of their design.

We focus on games for several reasons. First because they are fun projects. Second, because students have a strong sense of what constitute a good product. Third, because you don't have to break anyone's leg to get them to do their homework. But most importantly, games require solutions to a broad range of problems that rarely show up in a single software project. Games require good user interface design. They typically use computer graphics and sound. They can draw on other areas of computer science as well, such as artificial intelligence, computer networking, and computer art. Games often involve the modeling and simulation of physical systems, which requires concepts from mathematics, engineering and physics. And all of the processing in games must be done fast enough to give a good frame rate and in the presence of invetible numerical inaccuracies. Games are challenging projects.

Requirements and Grading

Class participation (5%), Homework (5%), Project 1 (20%), Project 2 (30%), Team software development project (40%)

Examples of games from previous semester can be found here.

Textbook

The required text is Applying UML and Patterns :An Introduction to Object-Oriented Analysisand Design and the Unified Process, 2nd Edition by Charles Larman, Prentice-Hall, 2002, ISBN: 0-13-092569-1.

Links