- Diversity & Inclusion
- Research News
- Department Life
- Oral History of Cornell CS
- Department Timeline
- Job Postings
- Ithaca Info
- Internal info
- Graduation Information
- Cornell Tech Colloquium
- Student Colloquium
- Student Recognition
- 2020 Celebratory Event
- CS Colloquium
- SoNIC Workshop
- Conway-Walker Lecture Series
- Salton Lecture Series
- Seminars / Lectures
- Big Red Hacks
- Cornell University High School Programming Contest
- Game Design Initiative
- CSMore: The Rising Sophomore Summer Program in Computer Science
- Requirements for both CS Majors include ten elective courses broken down into these categories:
- The CS Electives involve three 4000-level or above computer science courses. CS courses cross-listed with another department must be taken under the CS listing to satisfy a CS elective slot.Note: CS 4090, CS 4998, and CS 4999 cannot be used asa CS elective.
- The CS Project involves a 4000-level or above practicum or project-intensive course.
- CS 4000+ practicum : 4000-level course that ends with a 1 (CS 4121, CS 4321, CS 4411, CS 4621, CS 4701)
- Project Intensive Courses: CS 3152, CS 4152, CS 4154, CS 4740, CS 4752, CS 5150, CS 5152, CS 5412, CS 5414, CS 5431, CS 5625, CS 5643
- The Technical Electives involve three 3000-level or above (3+ credits each) courses with technical content.
- The External Specialization involves three related 3000-level or above (3+ credits each) courses.
- Both majors also have a "free elective" component. This includes the Major-Approved Elective (any three credits approved by your CS major advisor) and either the Advisor-Approved Electives (in Engineering) or the College Electives (in Arts).
- In reading the details below, understand that when we say "a 3000+ course" we mean that the course number is "3000 or above." And when we refer to a course in this context we do not mean seminars like CS 7x90.
- Extra Courses. In addition to those courses being used to fulfill college or field requirements, it is not unusual for students to have "extra" courses that are not used toward any degree or major requirements.
The External Specialization involves nine or more credit hours at the 3000+ level. Absolutely no CS courses are allowed. The three courses must be related to each other. Frequently, the three courses are from the same department, e.g., OR&IE 3300 (Optimization I), OR&IE 3310 (Optimization II), and OR&IE 4330 (Discrete Models). However, a great strength of Cornell is the multitude of interdisciplinary threads that cut across departmental boundaries. Thus, Psychology 4150 (Concepts, Categories, and Word Meanings), Philosophy 3320 (Philosophy of Language), and Linguistics 5530 (Representation of Structure in Vision and Language) define an acceptable Specialization.
Not all fields are created equal, and it may be more of a challenge finding 3000+ level courses in some fields than in others. Careful planning and creative course selection is especially important when you find that a field has limited offerings at or above the 3000 level. A student specializing in Fine Arts, for example, might find only two 3000+ level courses offered by that department that he/she is qualified to take. That student must then find a third course, perhaps one in another field, that will fill out his/her specialization. Another common example of this can be found in the field of neurobiology, where much of the "junior" level work is numbered at the 2000 level. Regardless of these departmental variances, only 3000+ level courses will be counted toward the External Specialization.
Finally we mention that the courses used for your External Specialization do not have to be technical in nature, and they do not have to have an explicit connection to CS. It is an arena wherein you can tap the great intellectual resources of the University.
The major elective is any course or courses approved by your CS major advisor. This elective requirement can be met by multiple courses totalling 3 credits, or one course of 3+ credit hours. Phys Ed, courses numbered 10xx, and ROTC courses below the 3000-level, do not qualify for academic credit and can not be used toward the degree requirements in CS.
Six credits of coursework from any academic program at Cornell.
"Advisor-Approved" means that you have justified your selection to your advisor and that your advisor has approved the selection. It makes good sense to use these electives for lower-level introductory courses that may be required prerequisites for the 3000+ technical elective courses and the courses used to satisfy the Specialization. Phys Ed, courses numbered 10xx, and ROTC courses below the 3000-level, do not qualify for academic credit and can not be used toward the degree requirements in CS. Up to 6 credits of advisor approved electives may be allowed for ROTC courses at the 3000-level or above.
Advice on Choosing Electives
For suggestions on how to select a set of electives that reflect one of a number of coherent, recognized sub-areas of study in computer science, see the material on Vectors. "Vectors" are completely optional, and the department does not track whether you complete one or not.