Sep 30, 2023  
Course Catalog 2018-2019 
Course Catalog 2018-2019 [ARCHIVED CATALOG]

Computer Science

Return to {$returnto_text} Return to: College of Arts and Sciences, Degree Programs and Requirements

Robert Geitz, Professor of Computer Science, Department Chair
Albert Borroni, Lecturer in Computer Science
John Donaldson, Visiting Professor of Computer Science
Adam Eck, Assistant Professor of Computer Science
Roberto Hoyle, Assistant Professor in Computer Science
Samuel Taggart, Assistant Professor in Computer Science
Cynthia Taylor, Assistant Professor in Computer Science
Richard M. Salter, Professor Emeritus of Computer Science

Computer Science encompasses both the theoretical and the practical aspects of the study of computers and algorithmic processes. Students majoring in computer science at Oberlin are prepared both for graduate study in the discipline and careers in industry and business. Computer Science at Oberlin is taught within the context of a liberal arts degree, with emphasis on the lasting principles of the discipline rather than on specific training in particular tools and techniques. The CS Department stresses the fundamentals of computer science while maintaining a highly current and relevant curriculum utilizing state-of-the-art methodologies and tools. More detailed information about the Computer Science major and minor can be found below.

Advanced Placement

Students who have received a score of 4 or 5 on the Advanced Placement Computer Science A examination in Computer Science or a  5, 6 or 7 on the International Baccalaureate Higher Level examination in Computer Science are normally awarded 1 full course equivalent to CSCI 150 and are encouraged to enroll in CSCI 151 in their first semester. Other students who believe they have sufficient preparation to begin their study of Computer Science in a course other than CSCI 150 should consult with the Chair of the department to discuss appropriate placement.


Entry-Level Course Sequence Suggestions

Most students who wish to study Computer Science or who wish to explore programming and algorithmic problem-solving should begin with CSCI 150. This course does not assume any prior experience with programming and is appropriate for both potential majors and non-majors.  Students who seek a more gentle introduction to programming and problem-solving may take CSCI 140; those who do so should be aware that if they decide to continue their study of Computer Science after taking CSCI 140 they will still need to take CSCI 150.

Since the requirements for the major in Computer Science are substantial, students planning to major in the discipline are encouraged to begin the coursework in their first year at Oberlin taking CSCI 150 and CSCI 151 along with MATH 133.

Students who would like to explore Computer Science without studying it in great depth may be interested in the entries listed below in the section “Courses in General Computing”.



The computer science major consists of 12 courses:

  • 10 courses listed below in the section “Courses in Computer Science,” including CSCI 210, 241, 275, 280 and 383 and at least three other computer science courses numbered 300 or above.  Students may substitute one of Math318, Math 331, Math 345, Math 348, Math 397, NSCI 365, or Stat 339 for one of the elective 300-level computer science courses. 
  • 2 courses in Mathematics, including MATH 220 and one additional course at the level of MATH 132 or higher.  This second course may not be substituted for a 300-level Computer Science course.  

Private Reading courses do not normally count toward the major.  More information about the Computer Science major can be found on the department web server. (

Students must earn minimum grades of C- or P for all courses that apply toward the major.


The Computer Science Department offers a minor in Computer Science.  The minor consists of five full courses, listed below in the section “Courses in Computer Science”, or four such computer science courses plus one of MATH 318, 331, 345, 348,397, NSCI 365 or STAT 339.  One of the courses must be a 300-level computer science course.


Honors Program

In the spring of the junior year, students may apply for admission to the Computer Science Honors Program by submitting a proposal for a project they will undertake in their final year. Most projects involve either original research in Computer Science or the development of an application that makes use of algorithms and techniques from recent papers.  All Honors projects include a thorough exploration of the primary literature.  Admission to the program will be based on past performance in classes as well as the quality and feasibility of the proposal.  Those admitted to the program will receive a full course credit for CSCI 401F each semester.  Honors students make several presentations of their work during the year, write a thesis on their research, and in the spring take a comprehensive examination prepared by an external examiner.

Winter Term

Some members of the computer science faculty will be available during Winter Term to sponsor student projects. Winter Term is an ideal time to learn new computer languages, to work on major programming projects, or to approach areas of computer science that are not covered by regular courses. Students are encouraged to begin thinking about Winter Term projects early in the fall semester.

Return to {$returnto_text} Return to: College of Arts and Sciences, Degree Programs and Requirements