Course Description

This course is an introduction to the practical problems of specifying, designing, building, testing, and delivering reliable software systems. Special topics include professionalism, project management, and the legal framework for software development. As a central part of the course, student teams carry out projects for real clients, using concepts of agile software development. Each project includes all aspects of software development from a feasibility study to final delivery.

Offered: Spring semester
Prerequisites: Computer Science 2110 or equivalent experience programming in Java or C++. Sufficient maturity to design and code large programs and to learn new programming languages if the project requires it.
Grade options: Letter or S/U
Credit hours: 4
Class times:

Tuesday and Thursday, 2:55 to 4:10, Gate Hall G01.

Instructor: William Arms, <>
Department of Computer Science
Gates Hall 321
Teaching Assistant: Alison Cooper, <>
Department of Computer Science
Gates Hall 440A (entrance across from 435)
Office Hours:

Tuesday, 1:00 to 2:30 or send email to schedule an appointment.

Course Assistant: Amy Elser, <>