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 the College of Engineering:

  • A course satisfying the technical communications or probability requirement may also be used to satisfy another requirement. For example, ENGRD 2640 may be used to satisfy the distribution requirement and the technical 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 2020

CS Checklist - Engineering NEW (pdf) - for students matriculated to Cornell in Fall 2020 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 2020 matriculants)
      These six courses must be chosen from at least three of the following categories:
      • (CA) Cultural Analysis
      • (CE) Communications in Engineering
      • (HA) Historical Analysis
      • (LA) Literature and the Arts
      • (KCM) Knowledge, Cognition, Moral Reasoning
      • (SBA) Social and Behavioral Analysis
      • (FL) Foreign Languages
    • (For fall 2020 and later matriculants)
      These six courses must be chosen from at least three of the following groups:
      • Group 1: Cultural Analysis, Literature and hte 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)
  • 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, ECON 3130, MATH 2930, or MATH 4710
  • One Introductory Programming course:
    • CS 1110 or 1112 or 1114 or 1115
  • 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.
  • One course fulfilling the Engineering Technical Communications requirement
  • One approved Probability course:
    • BTRY 3080 or CS 4850 or ECE 3100 or ECON 3130 or ENGRD 2700 or MATH 4710

CS Major Requirements

  • 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.
  • 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 (unless cross-listed with an academic department). At most, 6 credits of project team credits can be used towards the major- and advisor-approved electives.