- About
- Events
- Calendar
- Graduation Information
- Cornell Learning Machines Seminar
- Student Colloquium
- BOOM
- Fall 2024 Colloquium
- Conway-Walker Lecture Series
- Salton 2024 Lecture Series
- Seminars / Lectures
- Big Red Hacks
- Cornell University - High School Programming Contests 2024
- Game Design Initiative
- CSMore: The Rising Sophomore Summer Program in Computer Science
- Explore CS Research
- ACSU Research Night
- Cornell Junior Theorists' Workshop 2024
- People
- Courses
- Research
- Undergraduate
- M Eng
- MS
- PhD
- Admissions
- Current Students
- Computer Science Graduate Office Hours
- Advising Guide for Research Students
- Business Card Policy
- Cornell Tech
- Curricular Practical Training
- A & B Exam Scheduling Guidelines
- Fellowship Opportunities
- Field of Computer Science Ph.D. Student Handbook
- Graduate TA Handbook
- Field A Exam Summary Form
- Graduate School Forms
- Instructor / TA Application
- Ph.D. Requirements
- Ph.D. Student Financial Support
- Special Committee Selection
- Travel Funding Opportunities
- Travel Reimbursement Guide
- The Outside Minor Requirement
- Diversity and Inclusion
- Graduation Information
- CS Graduate Minor
- Outreach Opportunities
- Parental Accommodation Policy
- Special Masters
- Student Spotlights
- Contact PhD Office
To affiliate with the Computer Science major, refer to the page: Becoming a CS Major.
Here are some comments with respect to the requirements for the CS major in Cornell Engineering:
- A course satisfying the engineering communications or probability requirement may also be used to satisfy another requirement. For example, ENGRC 3500 may be used to satisfy a liberal studies slot and the engineering communications requirement, or MATH 4710 may count as a technical elective and satisfy the probability requirement.
- Apart from the exceptions just given, no course can be used to satisfy two or more requirements.
- CS Core courses and the CS 4000+ electives and project must be taken at Cornell.
- Courses at the 3000+ level used for the External Specialization or Technical Electives usually have prerequisites. Choose distributions and advisor-approved elective courses accordingly.
- Some substitutions are allowed, e.g., CS 3420/ECE 3140 for CS 3410. Other substitutions for required CS courses require field approval.
- Courses used for the CS 4000+ electives category must be taken under the CS rubric. For example, CS 4300 is cross-listed with INFO 4300. This course must be taken as CS 4300, not as INFO 4300, to be used for the CS 4000+ electives category.
- Crosslisted courses parented by Computer Science cannot be used for the specialization. Check the courses page and click on a course link (not the semester link) to see the cross-listing status (the parent of the a course is where the full course description is listed. For example, CS 4220 (crosslisted with MATH 4260) lists CS as the parent department (i.e. the course description is listed for the CS offering, but for the MATH offering, you are redirected to CS), so it cannot be used to satisfy the specialization requirement. In addition, LING 4474, INFO 4302, INFO 3300, INFO 4300, and INFO 5300 are not eligible for the specialization.
Note: The list below is intended for illustration purposes. Once affiliated, CS majors have online access to a personalized copy of their checklist for the CS major which is used to track progress towards their degree. You can view or download a blank copy of this checklist in PDF format at the link below.
CS Checklist - Engineering (pdf) - for students matriculated to Cornell prior to Fall 2024
CS Checklist - Engineering NEW (pdf) - for students matriculated to Cornell in Fall 2024 or later
College of Engineering Requirements
- Two First-year Writing Seminars
- Six Liberal Studies courses:
- Minimum 18 credits total
- 2 courses must be 2000-level or higher
- (For pre-fall 2024 matriculants)
These six courses must be chosen from at least three of the following groups:- Group 1: Cultural Analysis, Literature and the Arts, Social Difference (from categories CA, LA/LAD, ALC, SCD)
- Group 2: Historical Analysis (from categories HA, HST)
- Group 3: Ethics, Cognition, and Moral Reasoning (from categories KCM, ETM)
- Group 4: Social Science and Global Citizenship (from categories SBA, SSC, GLC)
- Group 5: Foreign Languages (FL - not literature courses)
- Group 6: Communications in Engineering (CE)
- (For fall 2024 and later matriculants)
These six courses must be chosen from at least three of the following 7 groups, with at least one course of 3 or more credits coming from Group 7 (RE):- Group 1: Cultural Analysis, Literature and the Arts, Social Difference (from categories CA, LA/LAD, ALC, SCD-HA only)
- Group 2: Historical Analysis (from categories HA, HST)
- Group 3: Ethics, Cognition, and Moral Reasoning (from categories KCM, ETM)
- Group 4: Social Science and Global Citizenship (from categories SBA, SSC, GLC)
- Group 5: Foreign Languages (FL - not literature courses)
- Group 6: Communications in Engineering (CE)
- Group 7: Race and Equity (RE) (from categories SCD-AS or D-AG only)
- Three Mathematics courses:
- MATH 1910, MATH 1920, and MATH 2940
- Four Science courses (plus Phys lab (PHYS 1110) for students that take PHYS 1112 F21 or later), as follows:
- PHYS 1112 (or PHYS 1116)
- PHYS 2213 (or PHYS 2217)
- CHEM 2090
- CHEM 2080 (or CHEM 2150) or PHYS 2214 (or PHYS 2218) or one of the following approved substitutions:
- BTRY 3080, ECE 3100, ECON 3130, MATH 2930, or MATH 4710
- One Introductory Programming course:
- CS 1110 or 1112
- Three Engineering Distribution courses:
- D1 must be CS/ENGRD 2110 or 2112
- Note: CS/ENGRD 2112 is a 4-credit intensive (honors) alternative to CS/ENGRD 2110.
- D2 must be an ENGRD course not from the scientific computing category.
- D3 must be an ENGRI course taken during the Freshman year.
- D1 must be CS/ENGRD 2110 or 2112
- One course fulfilling the Engineering Communications requirement
(For pre-fall 2024 matriculants only)
- One approved Probability course: BTRY/STSCI 3080 or CS 4850 or ECE 3100 or ECON 3130 or ENGRD 2700 or MATH 4710
CS Major Requirements
(For pre-fall 2024 matriculants only)
- Five CS Core courses:
- CS 2800 or CS 2802 - Discrete Structures
- CS 3110 - Data Structures and Functional Programming
- CS 3410 or 3420 - Digital Systems
- CS 4410 - Operating Systems or CS 4414 - Systems Programming
- CS 4820 - Theory of Algorithms
- Three CS electives:
- Three CS 4000+ courses (3+ credits each). CS 4090, CS 4998, and CS 4999 are NOT allowed. CS 3700 and CS 3780 are allowed.
(For fall 2024 matriculants and later)
- Six CS Core courses:
- CS 2800 or CS 2802 - Discrete Structures
- CS 3110 - Data Structures and Functional Programming
- CS 3410 or CS 3420 - Digital Systems
- CS 3700 - Foundations of AI, Reasoning and Decision-Making or CS 3780 - Introduction to Machine Learning
- CS 4410 - Operating Systems or CS 4414 - Systems Programming
- CS 4820 - Theory of Algorithms
- Two CS electives:
- Two CS 4000+ courses (3+ credits each). CS 4090, CS 4998, and CS 4999 are NOT allowed. CS 3700 or CS 3780 allowed if not used in CS core.
(For all matriculants)
- One CS Practicum or Project course:
- Accepted courses are CS practicums (CS 4xx1), or CS 3152, CS 4152, CS 4154, CS 4740, CS 4752, CS 5150, CS 5152, CS 5412, CS 5414, CS 5431, CS 5625, or CS 5643.
- Three Technical electives:
- Three 3000+ courses (3+ credits each) with qualifyig prereq. List of qualifying prerequisites available here. Up to two CS 4999 (other research or independent studies may be submitted for department review). At most one 2000-level course allowed.
- Three External Specialization courses:
- Three 3000+ courses (3+ credits each) from the same subject area. CS courses are not allowed. INFO 3300, INFO 4300, INFO 4302, INFO 5300, and LING 4474 are not allowed, nor do we allow research, independent study, project team or TA credits in this area.
- Major-Approved elective(s):
- At least 3 credits total. All academic courses are allowed, except: PE courses, courses numbered 10xx, Engineering AEW's, or ROTC courses (unless cross-listed with an academic department).
- Advisor-Approved elective(s):
- At least 6 credits total. All academic courses are allowed, except: PE courses, courses numbered 10xx, Engineering AEW's, and ROTC courses below the 3000-level. At most, 6 credits of project team credits can be used towards the major- and advisor-approved electives.