Aug 21, 2018  
Course Catalog 2008-2009 
Course Catalog 2008-2009 [ARCHIVED CATALOG]

Computer Science


Richard M. Salter, Professor of Computer Science; Department Chair
Albert Borroni, Lecturer in Computer Science
John Donaldson, Professor of Computer Science
Robert Frederick Geitz, Associate Professor of Computer Science
Benjamin A. Kuperman, Assistant Professor of Computer Science
Alexa Sharp, Assistant Professor 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 further graduate studies in the discipline and also for careers in the industries and businesses that actively recruit computer scientists with a liberal arts background. 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. Information about the Cognitive Sciences Concentration, which also involves Computer Science courses, can be found in that section of this catalog.

Advanced Placement

Students who have received a score of 4 or 5 on the Advanced Placement AB examination in Computer Science or a 6 or 7 on the International Baccalaureate Higher Level examination are normally awarded eight hours of credit equivalent to Computer Science 150 and 151. Students who have received a score of 3 on the AB examination, a score of 3 or higher on the A examination, or a 5 on the International Baccalaureate Higher Level Examination in Computer Science are normally awarded four hours of credit equivalent to Computer Science 150 and are encouraged to enroll in Computer Science 151 in their first semester. In some cases the advanced placement examination booklet may be reviewed by the Computer Science faculty before credit is granted. Other students with exceptional backgrounds who believe that they have sufficient preparation to elect courses for which Computer Science 150 or 151 are prerequisite should consult with the Chair of the Computer Science Department to discuss appropriate placement.

Entry-Level Course Sequence Suggestions

Students who wish to begin their study of computer science will normally elect Computer Science 150, the first course counted toward the major or minor in computer science. While CSCI 150 is self-contained, it moves quickly through issues that students with some programming experience will have seen before. Students with no prior experience may wish to take CSCI 140 before starting the 150-151 sequence. Since the requirements for the major in computer science are substantial, students planning to major in the discipline are encouraged to begin their coursework in the first year at Oberlin, taking either Computer Science 140 and 150 or 150 and 151 during that year along with Mathematics 133 and 220. Students with significant prior programming experience should consult with a faculty member to determine an appropriate introductory course.

Students who are interested in developing significant computer skills but are not interested in computer science per se are advised to enroll in one of our 100-level courses in general computing.


Computer Science courses that are applicable to the major are listed below in the section “Courses in Computer Science.” The major consists of 10 such courses, including Computer Science 210, 275, 280, and 383 and at least three other computer science courses numbered 300 or above. Private Reading courses for fewer than three hours do not normally count toward the major. Each Private Reading course that is meant to count toward the major is subject to prior approval by the CS faculty. In addition, a student is required to complete successfully Mathematics 133, 220, and 232. Students may substitute one of Mathematics 331, Math 345, or Math 348 for one of the elective 300-level computer science courses. More information about the Computer Science major can be found on the CS web server (

Courses in which a student has earned a letter grade lower than a C-/CR or P cannot be used to fulfill the requirements of the major.


The Computer Science Department offers a minor in Computer Science. Courses that are applicable toward this minor are the same courses listed in the section “Courses in Computer Science.” The minor consists of five courses drawn from this listing. One of these five courses must be a 300-level 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. Admission to the program will be based on performance in classes as well as the quality and feasibility of the proposal. Those admitted to the program will normally elect three or four credit hours of independent work (Computer Science 401) each semester under the direction of a faculty supervisor. Both theoretical investigations and actual implementations are appropriate as Honors projects.

Honors students take a comprehensive examination, with both written and oral parts, at the end of the senior year. This examination is normally administered by a scholar from outside the College and is designed to test the candidate’s mastery of undergraduate computer science.

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.

Computing Equipment

In addition to using the computer laboratories maintained by the College Center for Information Technology (CIT), the Computer Science Department maintains two computer-teaching labs of its own in the King Building exclusively for the use of CS students. Both of these labs feature late model Intel based computers running both Linux and Windows operating systems. Altogether there are 44 workstations in two labs, 24 in one lab and 20 in the other. Students receive accounts on the CS department’s Sun Fire 280R Unix server and on the CS department’s Windows domain servers thereby affording them complete access to all College and CS networking services.

Courses in General Computing

Courses in Computer Science

First Year Seminar Program