CompSci 108
Spring 2010
The Software Studio

Announcements

Description

The studio-based instructional model owes its origins to the master-apprentice educational system used in the guilds of the Middle Ages. The architectural schools of Europe and North America adopted this instructional model in the form of the “design studio”: a place where students set up their own workspaces, drafting tables, books, drawing and modeling materials, and spend much of their time working individually on common design tasks. As students spend long hours working on these tasks, they build camaraderie, looking to each other for support and feedback as they work toward a common purpose.

Software design is a craft, learned best through practice that is guided by experienced mentors. In this respect it is more like art than science. The arts, as well as architecture and engineering, benefit from using the studio prominently in their curricula. In a studio student work is subject to constant review by both peers and mentors as a means of providing valuable feedback and to solidify the shared sense of community. This course studies software design and implementation using Java in teams. Student teams work on several large, typically over-specified, projects whose design and functionality must be justified and improved through feedback given in a studio setting.

In short, my goal is for you to be able to turn vague and ambitious specifications into a system design that can be built, maintained, and extended, prioritizing the features to be built first, then refining and extending the project through multiple draft releases.

Required Background: It is assumed that you have previously programmed extensively in Java (e.g., at the level of CompSci 100 at Duke). If you do not have such experience programming, this probably is not the right course for you. See the course staff if you have questions.

Feedback

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 professor teaching the course. Our goal is to adapt the subject and delivery of our courses to meet student needs while maintaining our high standards.