- About
- Events
- Calendar
- Graduation Information
- Cornell Learning Machines Seminar
- Student Colloquium
- BOOM
- Spring 2025 Colloquium
- Conway-Walker Lecture Series
- Salton 2024 Lecture Series
- Seminars / Lectures
- Big Red Hacks
- Cornell University / Cornell Tech - High School Programming Workshop and Contest 2025
- 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
Summary
The specifications up through Fall 2021 for what qualified as a Technical Elective are ambiguous and leave students confused and advisors to clarify and confirm courses on an ongoing basis for qualification as a technical elective. The new rules make the technical electives clearly defined based on prerequisites, a procedure that does not leave room for broad interpretation and does not require us to maintain (quickly outdated) approved/not-approved course lists, and yet also preserves, to the extent possible, previous decisions on which courses did or did not count towards the Technical Elective requirement.
We now also allow, at most, one 2000+ level course (that satisfies the prerequisite rules) to count towards the Technical Elective requirement, with all others being 3000+. This is an extension of the previous exception to allow one of MATH 2930 or ENGRD 2700 as a Technical Elective (if not used to fulfill another requirement slot on the checklist) that allows for more flexibility for students.
NEW criteria for Technical Electives
Rule 1 is the only truly new rule; Rule 2b is a loosening of a prior rule and all the others are the same as before.
To qualify as a Technical elective, a course must:
- Have as a prerequisite or part of its "chain of prerequisites" at least one of the courses from the list given in the section “List of PREREQUISITE COURSES that qualify a course to count as a Technical Elective”; the prerequisite must be explicitly stated in the course’s description in the Courses of Study (https://courses.cornell.edu/). (Petitions for) exceptions will be handled per item d of this rule.
a. A corequisite counts as a prerequisite for the purposes of this rule.
b. A “recommended prerequisite” does not qualify a course as a Technical Elective.
c. If alternatives for a prerequisite are given, then it suffices for just one of the alternatives for that prerequisite to be on the approved list or qualify through a prerequisite chain.
d. (Petitionable) exceptions, including for research courses (note that Rule 5 specifies types of classes that cannot be petitioned):
i. A CS 4999 that satisfies all the other rules (including Rule 6, “NOT be a "third" research course) automatically counts, no petition needed.
ii. A course, research or otherwise, that is not a CS 4999 and that satisfies all the other rules except Rule 1 may be petitioned to count as a Technical Elective: A declaration of the course’s prerequisites emailed to ugrad@cs.cornell.edu from the instructor/supervisor (preferably a faculty member either case) is required for review. Ideally, this declaration would also be public, such as posted as a job description on a webpage. See also the “research credits” section of this document.
2. Meet the level requirements: either
a. be at level 3000 or above; or,
b. be at level 2000 or above if your set of three Technical Electives contains at most one 2000-level course.
3. Be 3 or more credits.
4. Be taken for a letter grade (for courses taken in Spring 2020 only, a grade of S is allowed)
5. NOT be used to satisfy a CS core, CS 4000+ elective, CS project/practicum, External Specialization, Major-approved elective, or (Engr only) Advisor-approved elective.
6. NOT correspond to TAing (such as CS 4090) or a Project Team (such as CS4998), regardless of stated prerequisites.
7. NOT be a "third" research/independent study course, such as CS 4999 (i.e., at most two research/independent study courses, such as CS 4999, may be counted towards the technical-elective requirement)
Examples involving rule 1
A. Qualifies via prerequisite chain: PHYS 4443 (Intermediate Quantum Mechanics) does not require any prerequisites from the list below. However, it does require PHYS 3316 as a prerequisite, which lists PHYS 2214 as a prerequisite, which is on the list below. Therefore, PHYS 4443 qualifies as a Technical Elective, since PHYS 4443 ← PHYS 3316 ← PHYS 2214.
B. Qualifies via rule 1c (“or”): LING 4424 (Computational Linguistics I) lists the following prerequisites:
Elementary Python (CS 1133 suffices), LING 1101 or CS 2800 or PHIL 2310. Prerequisite for CS majors: Elementary Python and CS 2800.
The prerequisite chain LING 4424 ← CS 2800 qualifies LING 4424 as a Technical Elective, since CS 2800 is on the list below. So does the prerequisite chain LING 4424 ← PHIL 2310.
(Note that without CS 2800 or PHIL 2310 as a prerequisite, LING 4424 would not have counted:
* LING 1101 is not on the list.
* Neither “elementary Python” nor CS 1133 is on the prerequisites list, and the department would deny requests for either to be counted as “intermediate computing or computer science”)
C. Qualifies through the CS department’s understanding of English description of prerequisites: AEP 4700 (Biophysical Methods) lists the following prerequisites:
Prerequisite: solid knowledge of basic physics and mathematics through
sophomore level. Recommended prerequisite: some knowledge of cellular biology.
To date, all Cornell’s 2000-level math courses have a chain of prerequisites involving a qualifying prerequisite, and thus AEP 4700 qualifies. (A “basic physics” prerequisite would not qualify the class, because PHYS 1101 and PHYS 1102 are “basic physics” but not qualifying prerequisites. One assumes “through the sophomore level” doesn’t modify “basic physics”.)
D. May or may not qualify (depends on information supplied by instructor), petition would be required: CS 3152 has the following prerequisite description:
Prerequisite for programmers: CS 2110 or permission of the instructor.
Prerequisite for designers: INFO 2450 and/or submission of art/design samples to instructor.
Corequisite: ENGRC 3152
CS 3152← INFO 2450 does not qualify the course (and neither does CS 3152 ← ENGRC 3152), so “designers” may not count the course as a Technical Elective, whereas CS 3152 ← CS 2110 does qualify the course, so “programmers” may count the course as a Technical Elective.
Therefore, a declaration from the instructor that you took the course playing the “programmer” role is required to count the CS 3152 as a Technical Elective.
The situation is similar for INFO 3152.
List of PREREQUISITE COURSES that qualify a course to count as a Technical Elective
3000-level courses marked w/ * are Technical Electives themselves; courses w/ ** are Technical Electives if they are the only 2000-level course being used towards the Technical Elective requirement.
Intent: A prerequisite of calculus or linear algebra at the level of Math 1120 or 1910 or above, or a stated prerequisite of mathematical maturity
Implementation - qualifying prerequisites:
- MATH 1120, 1910, 1920, 2210, 2220, 2240, 2930**, 2940, or the English description, “mathematical maturity”
- Note that Math 1110 is not a sufficient prerequisite.
- Similarly, an English description of “basic knowledge of calculus” or “introductory calculus” does not suffice. (Hence, for example, PHYS 2207 does not count as a Technical Elective)
- However, a prerequisite stated in English as “calculus” does suffice: we assume for simplicity that instructors saying “calculus” without further specification mean calculus at the level of 1120 or above.
Intent: a prerequisite of a college-level biological-science, chemistry, or physics (1112/2207 or higher) course
Implementation - qualifying prerequisites:
- BEE 2510**, BEE 2600**, BIOG 1445, BIOMG 2800**, BIOMG 33xx, BIONB 2220**, BIOEE 1610, BIOEE 1780, or a pre-requisite stated in English of a "college-level biology course"
- CHEM 1560, 1570, 2070, 2090, 2150
- PHYS 1112, 1116, 2207, 2208, 2213, 2214, 2217, 2218
Intent: a prerequisite of a 2000-level probability or statistics course, where significant knowledge of random variables and their distributions (4 or more lectures) is covered or assumed.
Implementation - qualifying prerequisites:
- AEM 2100
- BTRY 3010*, 3080*
- CEE 3040*
- ORIE 3300*, 3500*
- PUBPOL 2100, 2101 (formerly PAM 2100, 2101)
- STSCI 2100
- Note that Math 1710 is *not* a sufficient prerequisite.
- However, a prerequisite stated in English as “probability”, “statistics”, or (given the title of AEM 2100) “introductory statistics” with no other qualifier does suffice: we assume for simplicity that instructors giving such a description without further specification have 2000+ level courses in mind.
Intent: a prerequisite of intermediate computing or computer science
Implementation - qualifying prerequisites:
- Note that CS/INFO 1xxx courses or English descriptions such as “familiarity with programming” are not sufficient prerequisites.
- CS 2110, 2112, 2300, 2800, 2802
- INFO 2300, 2950, 3300*
Other qualifying prerequisites:
- AEM 2240**, 2241**
- ECON 3030*, 3040*, 3110, 3120*, 3130*
- All ENGRD courses
- LING 3302 (Introduction to Phonetics and Phonology), 3303 (Introduction to Syntax and Semantics)
- PHIL 2310 (Introduction to Deductive Logic
Research credits
First, no more than two instances of independent research courses from any department may be counted towards the Technical Elective requirement.
Second,
- CS 4999 (if 3 or more credits and taken for a letter grade) automatically counts as a Technical Elective (unless two research courses have already been counted towards the requirement.)
- Other research courses (if 3 or more credits and taken for a letter grade) may be petitioned to count as a Technical Elective (unless two research courses have already been counted towards the requirement.) A statement of the project’s prerequisites from the supervising faculty member will be required for review by the CS department. Ideally, this statement would be public, such as posted as a job description on a webpage.
Transition plan
Retroactive application for courses taken previously
Students currently enrolled at Cornell may use as a Technical Elective any course taken at Cornell that satisfies all the rules above, even if that course was taken before Spring 2022 (when this policy was enacted).
Transition period for courses that do not satisfy the new rules but used to count as Technical Electives
The following courses will be allowed as Technical Electives only if taken Spring 2023 or prior:
- CRP 3270 “Regional Economic Impact Analysis” [no prereqs]
- ECE 4450 “Computer Networks and Telecommunications” [no prereqs]
- ECON 3110 “Probability Models and Inference for the Social Sciences” [prereq = Math 1110]
- FSAD 3990 “Smart Clothing: Design and Programming” [prereq for non-design students: CS 1110]
- NBA 5550 “Fixed Income Securities and Interest Rate Options” [non-qualifying) prereqs of NCC 5060, NCC 5010]
- ORIE 3150 “Financial and Managerial Accounting” [no prereqs]
- PSYCH 3420 “Human Perception: Application to Computer Graphics, Art, and Visual Display” [Recommended prerequisite: PSYCH 2050; this means the course has no required prerequisites]
- SOC 3010 “Statistics for Sociological Research”. [no prereq]