1. 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.
      1. CS 4000+ practicum : course that ends with a 1
      2. Project Intensive Courses: CS 4758,  CS 5150, CS 5152, CS 5412, CS 5414, CS 5625, CS 5643, CS 6670
    • 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.
  2. Both majors also have a "free elective" component. The Major Approved Elective is any three credits approved by your CS major advisor. In addition, in Engineering the free electives are are the Advisor-Approved Electives while in Arts they are the College Electives.
  3. 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.
  4. 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.
  5. Vectors. Each vector is a collection of courses representing a key "direction of study" within computer science.


The External Specialization

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 Approved Elective

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.

The Advisor-Approved Electives (Engineering)

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.

Free College Electives (Arts and Sciences)

Fifteen credit hours of courses outside CS. The courses used in this category cannot be used fulfill any other degree requirement.

Note: It makes good sense to use the Arts electives to qualify for upper-level courses in other categories. For example, Psych 3470 "Psychology of Visual Communications" has Psych 1101 as a prerequisite. Psych 1101 could be used to fulfill 3 credits of Arts Electives, while Psych 3470 could be used in a Psych Specialization.