CompSci 408
Fall 2020
Delivering Software:
From Concept to Client

Design isn’t finished until somebody is using it. — Brenda Laurel



This semester our teams are working on these projects

Course Description

In this course, you will gain experience with the entire program development project cycle, from initial conception through user acceptance. You will be exposed to a broad perspective of issues related to the management of technology including feasibility assessment, project planning, project implementation, performance testing, documentation, marketing, and roll-out. This course will include many guest lectures from industry partners to provide contact with people actually involved in delivering software.

You will work in teams on a large software project that has an actual customer who expects to use the software after the course ends. Through these activities, you will gain program development skills that parallel real-world processes. Project ideas will be solicited from local clients that can be on-site to work with you and that tend towards non-traditional platforms or user interfaces. You will make a public presentation of the project results at the conclusion of the course.

The goal of this course is to expose students to a realistic model for the effective design and construction of software programs, and provide a useful experience in technology development. As such, students must have completed at least CompSci 307, CompSci 308 or equivalent team project experiences.


We welcome your feedback about all aspects of the course! The Computer Science department at Duke University aims to excel in education and research. To ensure that our courses fulfill student needs and expectations, you are encouraged to submit constructive comments about this course anonymously or use the suggestion box icon, suggestion box, at the bottom of each page. These comments will be read by the Director of Undergraduate Studies in addition to the professors teaching the course. Our goal is to adapt the subject and delivery of our courses to meet student needs while maintaining our high standards.

Help us improve the course site!  Please inform the course staff of any broken links or otherwise misleading or confusing content and we will get it fixed as soon as possible.