The DES-CS program is a one year introductory program in computer science for students with little or no programming experience. DES-CS involves taking 3 credits total for the year at Duke, 1 1/2 credits in the fall and 1 1/2 credits in the spring. For first-year students, this includes 1 full seminar credit which is required of all Trinity first-year students. The courses you would take are
|FALL SEMESTER COURSES|
|CompSci 6 - Introduction to Computer Science||1 credit|
|CompSci 18S - Problem Solving Seminar (Part 1)||1/2 credit|
|SPRING SEMESTER COURSES|
|CompSci 100 - Program Design and Analysis II||1 credit|
|CompSci 18S - Problem Solving Seminar (Part 2)||1/2 credit|
The Both CompSci 18S and the new CompSci 6 course starting in Fall 2010 have no prerequisites and no prior programming experience.
This course is new in Fall 2010, serving as an introduction to principles of programming and computer science with no prerequisites. Students interested in how computation, computer science, and programming can impact society, art, or the sciences will be able to pursue these interests motivated by real-world examples. We will be using the Python programming language, ideally suited for those with no experience, but with a great potential in developing a foundation for future study in related areas for those who want to pursue more. There will be weekly labs to help build experience with programming, computational thinking, and problem solving. The labs and lectures will be tightly integrated with roughly six larger programming assignments. Students will be encouraged to work in teams, but required to master programming skills as individuals.
CompSci 18S is a seminar that focuses on solving challenging problems in a specific domain of computer science. Students will work in small groups during class, solving and discussing problems. Requires taking either CompSci 6 or Compsci 100 at the same time. CompSci 18S can be taken twice to satisfy a seminar requirement.
A continuation of Computer Science 6. Object-oriented design and programming using a language like Java emphasizing abstract data types and their lower-level implementations. Advanced data structures including balanced trees, hash tables, graphs. Intuitive and rigorous analysis of algorithms. Prerequisite: Computer Science 6.