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, M. Clarkson, R. L. Constable, A. Damle, A. Davis, C. De Sa, 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, E. Shi, V. Shmatikov, D. Shmoys, A. Silva, E.G. Sirer, N. Snavely, K. Sridharan, N. Stephens-Davidowitz, W. Sun, E. Tardos, I. Trummer, C. Van Loan, R. Van Renesse, Anke Van Zuylen, H. Weatherspoon, K. Weinberger, W. White, R. Zabih.
CS 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. In addition to the major requirements outlined below, all students must meet the college graduation requirements .
Two semesters of introductory computer programming:
A five-course computer science core:
A computer science project course:
CS Practicums (CS 4xx1) or:
Three 3000+ level technical electives:
that are technical in nature, as determined by the major. (CS 4090 , CS 4997 , CS 4998 are not allowed.)
A three-course “external specialization” in a topic area other than computer science:
all numbered 3000-level or greater
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, and taken for a letter grade.
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 and employment in any technical area and 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 liberal education.
All potential affiliates are reviewed on a case-by-case basis relative to the following criteria:
- a grade of C (not C-) or better in all CS courses and math courses
- an average of 2.5 or better between CS 2110 or CS 2112 *and CS 2800 or CS 2802 .
*alternatively, an average of 2.5 or better in ECE 2400 /ENGRD 2140 and CS 2800 /CS 2802 and CS 3110 .
Courses used in the affiliation GPA computations may be repeated if the original course grade was below a C. The most recent grade will be used for all repeated courses. Qualifying courses must be taken at Cornell.
Departmental honors in Computer Science is granted to students who have maintained a cumulative GPA greater than or equal to 3.5 and completed 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:
- 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.
- Note: CS 5000-level courses that co-meet with a CS 4000-level course are not eligible for honors.
- at least two 3-credit semesters of CS 4999 - Independent Reading and Research with a CS faculty member, with grades of A– or better each semester.
Latin Designations (appended to the degree), awarded by the field of Computer Science for all who qualify as stated above, are based on the final cumulative GPA, as follows:
- cum laude, 3.50 or above
- magna cum laude, 3.75 or above
- summa cum laude, 4.00 or above
Honors courses may not be used to satisfy the CS 4000+ elective requirement, the CS project requirement, the technical electives, or the 3+ credit elective. See the CS undergraduate web site for more information on eligibility: www.cs.cornell.edu/undergrad.
Computer Science Undergraduate Minor:
The Computer Science Minor is for students who anticipate that computer science will have a prominent role to play in their academic and professional career. It is designed for students in all majors to supplement their primary studies. Computer science is applicable to almost any major and career choice; from Communication, Psychology, and Law to Architecture, Music, and Engineering. The theoretical foundations of information and computation provide students with the appropriate skills for academic and professional careers. Completion of the CS minor, with a well-selected set of classes, can serve as good preparation for further study through our 2-semester CS Masters of Engineering (M.Eng) program or our 4-semester Master of Science program.
The CS Minor is available to Cornell undergraduate students except Computer Science majors and Information Science, Systems, and Technology (ISST) majors. Students should visit the Computer Science website for more information and to view minor requirements.