Computer Science: Courses | Department
 
The Department of Computer Science collaborates with the Department of Mathematics and Statistics to send each incoming student a letter, "Tentative Placement in Mathematics and Computer Science". Students will typically start in CSC 151 because the material will be new to most students, even those with prior background in computer science or experience in computer programming.  Students are encouraged to consult computer science faculty to discuss placements and courses.

Computers pervade contemporary society, helping people solve problems, share their solutions, and address community needs. Computer science sharpens problem-solving skills and enables students to use computers creatively and effectively.

Computer science recognizes many fundamental problem-solving approaches, each involving a distinct way of thinking and supported by a range of computer languages. Students with good problem-solving skills normally start in CSC 151; students with less preparation may start in 105; students with considerable programming experience should consult the department about their placement.

CSC 151, Functional Problem Solving, begins a three-course sequence that introduces three contrasting views of problem solving, each supported by a different programming language. CSC 151 presents problem solving from a functional perspective, supported by the Scheme language (a dialect of LISP, widely used for artificial intelligence and application scripting). CSC 161 builds on this experience by studying imperative problem solving with the C language. CSC 207 completes the sequence by considering object-oriented design in Java.

CSC 105, The Digital Age, studies core topics and great ideas in computer science, focusing on underlying algorithmic principles and social implications.

We welcome all students to CSC 105 and CSC 151.  Both courses sharpen probelm-solving skills.  CSC 105 provides a broad overview of computing and its implications for students in all disciplines. CSC 151 provides a more technical introduction for students who may want to continue in computer science or who want to apply these problem-solving techniques to their disciplines.

A sample four-year plan, including the MAT 218 (Combinatorics) option, follows:

FIRST YEAR FALL   FIRST YEAR SPRING
MAT 131   MAT 133
CSC 151   CSC 161
SECOND YEAR FALL   SECOND YEAR SPRING
MAT 215   CSC 207
CSC 211 OR CSC 213   MAT 218
THIRD YEAR FALL   THIRD YEAR SPRING
Abroad   CSC 302 or CSC 323
FOURTH YEAR FALL   FOURTH YEAR SPRING
CSC 325 or CSC 362   CSC 341
CSC 301    

Although students are advised to start early when possible, there are many ways to complete a major in computer science. The following four-year plan illustrates that students can start computer science in the second semester, participate in off-campus study, and still complete the major. We have also had students complete the major while taking the first course in their third semester and, in the rare case, in the fourth semester.

FIRST YEAR FALL   FIRST YEAR SPRING
MAT 131   CSC 151, MAT 209
SECOND YEAR FALL   SECOND YEAR SPRING
CSC 161   CSC 207, MAT/CSC 208
THIRD YEAR FALL   THIRD YEAR SPRING
CSC 325 or 362, CSC 211 or 213   Off Campus
FOURTH YEAR FALL   FOURTH YEAR SPRING
CSC 301   CSC 302 or 323, CSC 341