Each incoming student receives a letter, "Tentative Placement in Mathematics and Computer Science" suggesting the course level at which the student should start. Students will typically start in CSC 151, which requires no prior experience. We also recommend CSC 151 for most students with prior background in computer science or experience in computer programming, because the material will be new to most students. Students are encouraged to consult computer science faculty to discuss placements and courses.

Computer science is a formal study of problem solving. Computer scientists analyze problems, formalize the problems, design processes to solve the problems, and analyze those processes. Computer scientists build things that change the world.

CSC 151 begins a three-course sequence that introduces three contrasting views of problem solving. It develops the functional model of computation, using the Scheme programming language. The second course, CSC 161, presents the imperative paradigm with C. In the third course, CSC 207, students develop skills in algorithm and data structure design and analysis while learning object-oriented programming in Java.

Students who are mainly interested in a broad overview of computing may prefer to start with CSC 105, "The Digital Age," which introduces the core topics and great ideas of computer science, focusing on underlying algorithmic principles and social implications.

Students are encouraged to consult computer science faculty to discuss placements and courses. Because Grinnell's introductory sequence is somewhat unique, the department often negotiates special arrangements for students with prior background. Such students are particularly encouraged to meet with faculty as soon as possible.

The two sample four-year plans that follow illustrate some possibilities available to students considering a major in computer science.

First Alternative, including MAT 218 (Discrete Bridges)

First Year Fall First Year Spring
MAT 131 CSC 161
CSC 151 MAT 133
Second Year Fall Second Year Spring
CSC 211 CSC 207
MAT 215 MAT 218
Third Year Fall Third Year Spring
Off-Campus Study CSC 341
Fourth Year Fall Fourth Year Spring
CSC 341 CSC Elective
CSC 324  

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.

Second Alternative, including CSC/MAT 208 (Discrete Structures)

First Year Fall First Year Spring
MAT 131 CSC 151
  STA 209
Second Year Fall Second Year Spring
CSC 161 CSC 207
  MAT/CSC 208
Third Year Fall Third Year Spring
CSC 324 Off Campus
CSC Elective  
Fourth Year Fall Fourth Year Spring
CSC 301 CSC 341
  CSC 213

Overall, students are advised to start early when possible, but there are many ways to complete a major in computer science. Nearly every required course is offered every semester. The exceptions are CSC 211 and CSC 213, which are offered each fall and spring respectively, and the electives, which vary from year to year. Consult the full diagram of regular courses and their prerequisites.

Beyond Grinnell's foundational computer science major, students are advised that the international professional computing societies, the Association for Computing Machinery (ACM) and the Computer Society of the Institute of Electrical and Electronics Engineers (IEEE-CS) publish recommendations for undergraduate computer science programs. To meet the most recent recommendations (published in 2013), students interested in careers in computing should consult the computer science faculty concerning specific electives and supplementary courses that might be included in a four-year plan.