Courses of Study 2017-2018 
    Oct 15, 2019  
Courses of Study 2017-2018 [ARCHIVED CATALOG]

Computer Science

In the College of Engineering .

Course Offerings  


F. B. Schneider, chair;  R. Agarwal, L. Alvisi, E. Andersen, Y. Artzi, G. Bailey, K. Bala, S. Belongie, D. Bindel, K. Birman, R. Brachman, A. Bracy, C. Cardie, M. Clarkson, R. L. Constable, D. Estrin, D. Fan, N. Foster, M. George, C. Gomes, D. Greenberg, D. Gries, J. Halpern, D. Hauagge, H.Hirsh, J. E. Hopcroft, D. Huttenlocher, T. Joachims, A. Juels, J. Kleinberg,  R. Kleinberg,  R. Knepper, D. Kozen, L. Lee,  S. Marschner, G. Morrisett, A. Myers, M. Naaman, R. Pass, T. Ristenpart, A. Sampson,  F. B. Schneider, B. Selman, E. Shi, V. Shmatikov, D. Shmoys, E.G. Sirer, N. Snavely, K. Sridharan, D. Steurer, E. Tardos, R. Tate, T. Teitelbaum, I. Trummer, C. Van Loan, H. Weatherspoon, K. Weinberger, W. White, R. Zabih.

Computer Science:

Offered by the Department of Computer Science

Contact: 110 Gates 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, 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 .

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

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 110E Gates Hall, (607) 255-0982; or visit for more information on eligibility.