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 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)

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
    • These six courses must be chosen from at least three of the following groups:
      • (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
  • Three Mathematics courses:
    • MATH 1910, MATH 1920, and MATH 2940
  • Two Physic courses:
    • PHYS 1112 and PHYS 2213
  • Two Chemistry courses:
    • CHEM 2080 and CHEM 2090
  • 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 - Discrete Structures
    • CS 3110 - Data Structures and Functional Programming
    • CS 3410 or 3420 - Digital Systems
    • CS 4410 - Operating Systems
    • 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) from application areas such as: CS, Bio, Math, Chem, Phys, and Engineering. Courses from other areas may be submitted for department review. Only one of ENGRD 2700 or MATH 2930 may be used in this category. Up to two CS 4999 (other research or independent studies may be submitted for department review).
  • 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.
  • Major-Approved elective(s):
    • At least 3 credits total. All academic courses are allowed, except: PE courses, courses numbered 10xx, or ROTC courses below the 3000-level.
  • Advisor-Approved elective(s):
    • At least 6 credits total. All academic courses are allowed, except: PE courses, courses numbered 10xx, or ROTC courses below the 3000-level.