• The class on Thursday, March 22 has been canceled.

  • New vesions of Lectures 14 and 17 were released on Sunday March 11. In Lecture 14, part 2, an out of date link has been removed. Lecture 17 has a new section on the Bootstrap framework for creating responsive websites.

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. 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, Gates Hall G01
Instructor: William Arms, <>
Department of Computer Science
Gates Hall 331
Teaching Assistant: Xinya Du, <>
Department of Computer Science
Office Hours:

Tuesday, 10:30 to 12:00 or send email to schedule an appointment.

The Teaching Assistant does not have scheduled office hours but is available to help you by email or by appointment.

Please send all message about the course to both the Instructor and the Teaching Assistant.

Team meetings: Monday 7:30 to 8:20 p.m., Gates Hall G01, or as decided by the project teams.
Course Assistant: Amy Elser, <>