Courses of Study 2022-2023 
    Dec 07, 2022  
Courses of Study 2022-2023

Computer Science


E. Tardos, chair;  R. Agarwal, L. Alvisi, Y. Artzi, K. Bala, S. Belongie, A. Benson, T. Bhattacharjee, D. Bindel, K. Birman, R. Brachman, A. Bracy, C. Cardie, E. Chattopadhyay, S. Choudhury,  M. Clarkson, R. L. Constable, A. Damle, A. Davis, C. De Sa, S. Dean, K. Ellis, D. Estrin, D. Fan, N. Foster, C. Gomes, D. Greenberg, D. Gries, J. Halpern, B. Hariharan, H. Hirsh, J. Hsu, T. Joachims, A. Juels, J. Kleinberg,  R. Kleinberg, D. Kozen, V. Kuleshov, L. Lee, O. Legunsen, S. Marschner, G. Morrisett, C. Muhlberger, A. Myers, E. Pierson, R. Pass, T. Ristenpart, A. Rush, A. Sampson,  F. B. Schneider, B. Selman, V. Shmatikov, D. Shmoys, A. Silva, N. Snavely, K. Sridharan, N. Stephens-Davidowitz, W. Sun, E. Tardos, I. Trummer, R. Van Renesse, Anke Van Zuylen, H. Weatherspoon, K. Weinberger, W. White, R. Zabih.

Computer Science:

Offered by the Department of Computer Science

Contact: 402 Gates Hall, (607) 255-0983, Computing and Information Science website

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. Students in Engineering must complete a minimum of 121 total credit hours to graduate. 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 the Computing and Information Science website for the most current information about requirements

Three 4000+ level computer science electives:

(CS 4090 CS 4997 , CS 4998  and CS 4999  not allowed).

Three 3000+ level technical electives:

(only one of ENGRD 2700  or MATH 2930  accepted) that have a qualifying prerequisite as defined by the Computer Science website.  At most one 200+ level course allowed. (CS 4090 , CS 4997 , CS 4998  not allowed)

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

Note: *CS 5000-level course that co-meets with a CS 4000-level course are not eligible for honors.

       **with a faculty member