CS Logo      
space
bar Information bar Events bar Admissions bar People bar Courses bar DegreePrograms bar Research bar Publications bar
space
design
space
Choosing Your Electives
space
Home » Degree Programs » Undergraduate Program » CS Major » Courses and Research
space

Choosing Your Electives

  1. Requirements for both CS Majors include nine elective courses broken down into these categories:
  2. Both majors also have a "free elective" component. In Engineering these 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.

CS Electives

All CS majors are required to take two Computer Science courses at or above the 4000 level. Note: CS 4999 can not be used as a CS elective. The two CS 4000+ electives are normally selected from the following group:

Visit the Course Conversion website for the 3 digit course numbers used prior to summer 2008

Course NumberCourse Name
CS 4110Programming Languages and Logics
CS 4120Introduction to Compilers
CS 4300Information Retrieval
CS 4302Web Information Systems
CS 4320Introduction to Database Systems
CS 4420Computer Architecture
CS 4450Computer Networks
CS 4620Computer Graphics I
CS 4700Foundations of Artificial Intelligence
CS 4702Artificial Intelligence: Uncertainty and Multi-Agent Systems
CS 4740Introduction to Natural Language Processing
CS 4780Machine Learning
CS 4812Quantum Information Processing
CS 4860Applied Logic
CS 5150Software Engineering
CS 5430System Security
CS 5410Intermediate Computer Systems
CS 5420Parallel Computer Architecture
CS 5300 Architecture of Large-Scale Information Systems
CS 5640Computer Animation
CS 5643Physically Based Animation for Computer Graphics
CS 5620Interactive Computer Graphics

Note: Plan your schedule accordingly.

|Top of Document|

The CS Project

The CS project requirement can be fulfilled with any one of the following:

CS 4121 - Practicum in Compilers

CS 4321 - Practicum in Database Systems

CS 4411 - Practicum in Operating Systems

CS 4450 - Computer Networks

CS 4621 - Computer Graphics Practicum

CS 4701 - Practicum in Artificial Intelligence

CS 5150 - Software Engineering

CS 5410 - Intermediate Computer Systems

CS 5450 - Advanced Computer Networks

CS 6670 - Machine Vision

A grade of C- or better is required.

|Top of Document|

The Math Elective

The Math Elective is a 3000+ course that has a rigorous mathematical content. There are only two exceptions to the 3000+ rule: ENGRD 2700 (Probability and Statistics) and MATH 2930 (or MATH 2220). Courses in Mathematics and Theoretical and Applied Mechanics obviously qualify. But courses like CS 4860 (Applied Logic) and ECE 3100 (Introduction to Probability and Random Signals) are also acceptable.

Math courses that do NOT qualify as Math Electives for CS majors include courses like: Math 4030 "History of Math"; and Math 4080 "Mathematics in Perspective".

A grade of C- or better is required. 3 credit minimum.

Here are examples of courses that qualify as Math Electives

|Top of Document|

The Technical Electives

The Technical Electives are two 3000+ level courses that total six or more credit hours. Normally these courses are chosen from application areas such as Biology, Chemistry, Physics, Mathematics, Economics, Linguistics, and all the Engineering fields including CS. The courses must engage the student in a technical, quantitative way. Courses that simply involve writing about science or technology do not qualify, e.g., Government 3071 (Introduction to Public Policy) or Communications 3520 (Scientific Writing for the Mass Media).

A grade of C- or better is required. Courses must be 3 or more credit hours.

Still not sure? Here is more on Technical Electives.

|Top of Document|

The Specialization (formerly "The Minor")

The CS 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 is qualified to take. That student must then find a third course, perhaps one in another field, that will fill out his 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 Specialization.

We mention four very interesting "official specializations" in the Arts College. These include the concentration in Cognitive Studies and the concentration in Science and Technology Studies. The Information Science concentration, and the Computing and the Arts concentration are also available to students. The word "concentration" is Arts College jargon for "specialization" and the word "official" means that completion of the concentration requirements is certified on the transcript. These two concentrations have deep connections to CS and should be explored by students who want a particularly broad education.

Though the Specialization has traditionally been thought of as a "minor" within the field of Computer Science, it should not be construed as such. The College of Engineering offers "official" minors in second disciplines, including Computer Science. To complete a minor in one of these second disciplines requires a minimum of 18 credits and six courses. Thus, a student majoring in Computer Science may choose to specialize in ECE by taking the three requisite 3000+ level courses in ECE, whereas a student majoring in Computer Science who chooses to minor in ECE must take additional courses, as set by the field of ECE.

Finally we mention that the courses used for your 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.

A grade of C- or better is required. Courses used for the Specialization must be 3+ credit hours each, totaling at least 9 credit hours.

|Top of Document|

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, 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.

|Top of Document|

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 requirement for the CS major.

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.

|Top of Document|

Extra Courses

Extra courses are those not being used to fulfill any specific undergraduate degree requirements, however, they should not be thought of as wasted credit hours. Your education is made up of many elements. Some elements are graded and help to indicate progress in specific subject areas. Other elements are not graded and do not show up on your transcript. Each element plays a role in the overall process, however. So too it is with extra courses. While they represent graded work on the transcript, their importance lies in the fact that they ARE a part of your overall education, and not whether they fulfill a specific requirement.

|Top of Document|

space
bar
bar
[ About Us · Contact Us · Feedback · Site Map ]