Courses of Study 2018-2019 
    Jun 17, 2019  
Courses of Study 2018-2019 [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, A. Benson, D. Bindel, K. Birman, R. Brachman, A. Bracy, C. Cardie, M. Clarkson, R. L. Constable, A. Damle, C. De Sa, D. Estrin, D. Fan, N. Foster, M. George, C. Gomes, D. Greenberg, D. Gries, J. Halpern, B. Hariharan, 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, E. Tardos, R. Tate, I. Trummer, C. Van Loan, R. Van Renesse, 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 CS 4998  and CS 4999  not allowed).

Three 3000+ level technical electives:

(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.

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.