CompSci 6, Spring 2010

CompSci 6
Program Design and Analysis I
Course Description

Design and implementation of programs to solve problems in Computer Science, Engineering, and Natural Sciences. Object-oriented programming using Java, analysis of programs and algorithms, reading, modifying, and designing classes, data structures including arrays, sets, and maps. Intended as an introduction for majors and those interested in programming and Computer Science with applications in the sciences. We use the programming language Java and the Eclipse environment.

Course Announcements

Required Background:

This is a course for Computer Science majors or those who want to gain more experience with programming. The course assumes prior experience with programming using variables, conditionals, loops, functions, and collections (lists, arrays). This experience can be in another programming language. We do start from the beginning with Java so it is possible to also take this course as a beginner, but the first few weeks will feel fast paced for beginners. Additionally, students should have familiarity with the material covered in Mathematics 31 (or take it concurrently with this 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 can submit comments about this course anonymously here. These comments will be read only by the Director of Undergraduate Studies for Teaching and Learning and the course staff.