CompSci 290
Fall 2012
Apps: From Concept to Client



This semester our students 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 308.


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 can submit comments about this course anonymously or use the Suggestion Box icon at the bottom of each page. These comments will be read by the Director of Undergraduate Studies for Teaching and Learning 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.