Courses of Study 2011-2012 
    
    Nov 23, 2024  
Courses of Study 2011-2012 [ARCHIVED CATALOG]

Computer Science


Faculty


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, E. Tardos,  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, www.cs.cornell.edu/ugrad. 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 www.cs.cornell.edu/ugrad for the most current information about requirements.

Note:

CS 1114  is an honors-level substitute 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; CS 3220  allowed). If CS 2800  was taken prior to spring 2009 or CS 4810  must be either one of these electives or one of the technical electives (see below).

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
Note:

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.

Note:


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, data-intensive computing, graphics, human-language technologies, network science, programming languages, security and trustworthy systems, software engineering/code warrior, systems, theory, and a broad “Renaissance” vector. See www.cs.cornell.edu/ugrad 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 ugrad@cs.cornell.edu. 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 www.cs.cornell.edu/ugrad for more information on eligibility.