Courses of Study 2013-2014 
    May 25, 2020  
Courses of Study 2013-2014 [ARCHIVED CATALOG]

Computer Science

In the College of Engineering .

Course Offerings 


J. Halpern, chair; G. Bailey, K. Bala, D. Bindel, K. Birman, C. Cardie, R. L. Constable, D. Fan, N. Foster, J. Gehrke, C. Gomes, D. Greenberg, D. Gries, J. E. Hopcroft, D. Huttenlocher,  D. James, T. Joachims, J. Kleinberg,  R. Kleinberg,  D. Kozen, L. Lee,  S. Marschner, A. Myers, R. Pass, A. Saxena,  F. B. Schneider, B. Selman, D. Shmoys,  E. G. Sirer, N. Snavely, D. Steurer, E. Tardos, R. Tate, C. Van Loan, H. Weatherspoon, W. White, R. Zabih

Computer Science:

Offered by the Department of Computer Science

Contact: 303 Upson Hall, (607) 255-0982, The Department of Computer Science is affiliated with both the College of Arts and Sciences and the College of Engineering. Students in either college may major in computer science. Computer science majors take courses covering algorithms, data structures, logic, programming languages, systems, and theory. Electives include artificial intelligence, computer graphics, computer vision, cryptography, databases, networks, and scientific computing. See for the most current information about requirements.


CS 1114  and CS 1115  are honors-level substitutes for CS 1112 , and CS 2112  is an honors-level substitute for CS 2110 .  Engineering students entering Cornell prior to Fall 2012 must take a 1-credit CS transition course, CS 1130  or CS 1132 . (See Engineering Handbook for details)

Three 4000+ level computer science electives:

(CS 4090  and CS 4999  not allowed).

Three 3000+ level courses:

(only one of ENGRD 2700  or MATH 2930  accepted) that are technical in nature, as determined by the major.

A three-course “external specialization” in a topic area other than computer science:

  • all numbered at the 3000+ level

CS majors in the College of Engineering can use ECE 3100  as a substitute for ENGRD 2700  to satisfy the engineering distribution requirements.

An elective requirement consisting of a single 3+ credit course or a combination of courses coming to 3+ credits total:

Roughly speaking, all academic courses (inside or outside of CS) count. No PE courses, courses numbered 10xx, or ROTC courses below the 3000 level are allowed.


All the major electives described above must be courses of at least 3 credits, with the exception of the CS project course, which is at least 2 credits, or as otherwise specified.

Additionally, students’ course selections must satisfy the requirements of at least one “vector” or CS–centric specialization, defined by the department. The set of vectors includes artificial intelligence, computational science and engineering, graphics, network science, programming languages, software engineering, system databases, theory, and a broad “Renaissance” vector. See for the requirements of each vector and updates.

The program is broad and rigorous, but it is structured in a way that supports in-depth study of outside areas. Intelligent course selection can set the stage for graduate study or employment in any technical area or any professional area such as business, law, or medicine. With the advisor, the computer science major is expected to put together a coherent program of study that supports career objectives and is true to the aims of a liberal education.

Computer Science Honors Program:

The B.S. degree with honors is granted to engineering students who satisfy the requirements given on the “Undergraduate Study and Graduation Requirements ” page with a set of coherent courses and research activities that satisfy the following requirements.

The program consists of at least 9 credits beyond the minimum required for graduation as follows:

  1. at least one CS course (at least 3 credit hours) at or above the 5000-level with a grade of A– or better (no seminars)
  2. at least two 3 credit semesters of CS 4999  (independent research), with grades of A– or better each semester

Honors determinations are made during the senior year. Students wanting to be considered for the honors program should notify the undergraduate office in the Department of Computer Science at The subject line for this message should read “HONORS TRACK”. Address related questions to the same e-mail address; call or stop by 303 Upson Hall, (607) 255-0982; or visit for more information on eligibility.