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

The CS Major

Important changes to the CS Major were announced on December 4, 2008. Visit the following website for details:
http://www.cs.cornell.edu/ugrad/CSMajorTransition08-09.htm

The Computer Science major resides in both the College of Arts and Science and the College of Engineering.

Arts vs. Engineering Degree · Becoming a CS Major · Academic Integrity Code

General Description

Computer science majors take courses covering algorithms, data structures, logic, programming languages, systems, and theory. Electives include artificial intelligence, computer graphics, computer vision, cryptography, databases, networks, and scientific computing. Requirements include:

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

a calculus sequence (note different college requirements) MATH 1110-1120/1220-2210 (A&S) or MATH 1910-1920-2940 (ENGR)
two semesters of introductory programmingone of CS 1110, 1112, 1113, or 1114 and CS 2110
a five-course computer science coreCS 2800, CS 3110, CS 3410 or 3420, CS 4410, CS 4820
three 4000+ CS electives each at three creditsCS 4999 NOT allowed
a CS project courseCS 4121, 4321, 4411, 4450, 4621, 4701, 5150, 5410, 5450, or 6670
three 3000+ courses that are technical in nature (3 credit min per course) 
three 3000+ related courses that are outside of Computer Science and total at least nine credits (3 credit min per course) external specialization  

In addition, students' course selections must satisfy the two requirements listed below. The two requirements below are distinguished because a single course can satisfy a requirement below and another requirement, such as the major-internal ones listed above or College-level requirements, simultaneously.

  1. a probability course: one of BTRY 4080, ECE 3100, ECON 3190, ENGRD 2700 or MATH 4710. (Choosing a 3000+ level course among these options is strongly recommended.)
  2. complete one vector. Vectors are CS-centric specializations. The current set of vectors include artificial intelligence, computational science and engineering, data-intensive computing, graphics, human-language technologies, network science, programming languages, security and trustworthy systems, software engineering/code warrior, systems, theory, and a broad Renaissance vector. Detailed information on the requirements of each vector is available here.

The program is broad and rigorous, but it is structured in a way that supports in-depth study of outside areas. Intelligent course selection can set the stage for graduate study and employment in any technical area and any professional area such as business, law, or medicine. With the advisor, the CS major is expected to put together a coherent program of study that supports career objectives and is true to the aims of liberal education.

Two undergraduate degrees are offered:

For detailed listings of the course requirements, see the Engineering Checklist and the Arts Checklist. The two degree programs are similar in that they have the same Computer Science component. However, the two colleges in question have requirements that reflect notions of liberal education. For example, the College of Arts and Sciences has a foreign language requirement while in the College of Engineering all students are required to take chemistry and physics.

The more suitable program depends how these requirements sit with your own ideals and the nature of your secondary interests. For example, it is easier for a CS major in Engineering to take a lot of courses in hardware and the supporting technologies. On the other hand, a CS major in Arts and Sciences can more readily pursue a concentration in linguistics.

Neither program has a particular advantage from the standpoint of employment or graduate school.

Becoming a CS Major

Students in the College of Engineering generally begin the process of major affiliation during their third semester. The affiliation forms are available online here.

Students in the College of Arts and Sciences can affiliate in their third semester but are expected to start the process no later than their fourth semester.

All potential affiliates are reviewed on a case-by-case basis relative to the following criteria:

  • at least a grade of C in all completed CS and math courses
  • a GPA of 2.5 or better in CS 2110 and 2800
  • a GPA of 2.5 or better in Math 1120/1220/1920, and CS 2800.

Good grades in critical courses may be considered to offset deficiencies in meeting the above criteria.

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

Critical CS CoursesCS 2110, 2800, 3110, 3410, 3420, 4410, and 4820
Critical Math CoursesMath 1120, 1220, 1920, 2210, 2230, 2930, 2940, 3360, 3560, CS 2800 and ENGRD 2700

Courses used to determine affiliation may be repeated if the original course grade is below a "C". The most recent grade is used when a course is repeated.

The CS Undergraduate Committee may postpone an affiliation decision in order to include grades from specific critical courses.

Students who do not meet these requirements are discouraged from attempting affiliation with the major. The CS major can be exceptionally rigorous for students who are not suitably prepared for the academic requirements of the program.

Students who have been rejected from the major are very strongly discouraged from reapplying. If you do not meet admission standards for the CS major you will need to apply for admission to another major at Cornell. Students who decide to reapply for the major after being rejected once will be reconsidered if they have met all standards of admission for the major. No student will be considered for admission more than twice.

A number of students have found it beneficial to major in another field while maintaining a strong concentration in CS. Students who take this route will often have a higher GPA than if they had stayed in CS. Many non-CS majors who have concentrated in CS are recruited just as vigorously as full CS majors.

Non-CS engineers are encouraged to explore the CS minor option. And while it is not an official program in the College of Arts and Sciences, students in Arts may elect to use the Engineering Minor as a model for building an unofficial concentration in CS.

The steps to be followed are listed below:

  1. READ the requirements for the major and make certain that you understand the criteria for "Good Standing" in the major.
  2. Obtain CS AFFILIATION FORMS from the CS Undergraduate Office (303 Upson).
  3. Obtain an OFFICIAL TRANSCRIPT from the University Registrar's Office in Day Hall.
  4. Bring the official transcript and the completed forms to the CS Undergraduate Office in (Upson 303). At that time you may schedule an appointment with the Assistant Director to review your record and plans. This is especially recommended if you intend to double major or if your academic record needs clarification.
  5. NOTE: You are expected to fill out the field application forms completely. If you leave out information your affiliation with the field could be delayed.

If you have been accepted into the major you will receive notice via e-mail, wherein details about your new CS advisor and your CSUG Lab account will be provided. Before meeting with your CS faculty advisor for the first time, you should complete an academic plan to the best of your ability.

Students who are not affiliated with the program by the end of their 4th semester may be prevented from registering for the fifth term and should discuss their situation with their college's advising office.

Once you have been accepted into the major, you can keep up-to-date with course and program changes and other goings-on in CS by checking the undergraduate News page frequently. News items are added a few times each month.

In addtion, all CS majors will find it useful to subscribe to the Association of Computer Science Undergraduates listserv. This important listserv is used by the department to communicate announcements of interest to undergraduates, including research opportunities and job openings. To subscribe: Send email to listproc "at" cornell.edu. The body of your message should say "SUBSCRIBE ACSU-L".

We encourage all students with an interest in CS to join the ACSU. Visit the ACSU website for information about the ACSU and about applying to become a member.

Department Policy on Academic Integrity

Violations of the Cornell University Code of Academic Integrity occurring in Computer Science courses are taken very seriously by the Computer Science faculty. Therefore, it is necessary to impress upon students the gravity of violations of the Code. The following are excerpts from a longer version of the Cornell University Code of Academic Integrity. The exclusion of any part does not excuse ignorance of the Code.

Principle

Absolute integrity is expected of every Cornell student in all academic undertakings; he/she must in no way misrepresent his/her work fraudulently or unfairly advance his/her academic status, or be a party to another student's failure to maintain academic integrity. The maintenance of an atmosphere of academic honor and the fulfillment of the provisions of this Code are the responsibilities of the students and faculty of Cornell University. Therefore, all students and faculty members shall refrain from any action that would violate the basic principles of this Code.

General Responsibilities

  1. A student assumes responsibility for the content and integrity of the academic work he/she submits, such as papers, examinations, or reports.
  2. A student shall be guilty of violating the Code and subject to proceedings under it if he/she:
    •  knowingly represents the work of others as his/her own.
    •  uses or obtains unauthorized assistance in any academic work.
    •  gives fraudulent assistance to another student.
    •  fabricates data in support of laboratory or field work.
    •  forges a signature to certify completion or approval of a course assignment.
    •  in any other manner violates the principle of absolute integrity.

Specific Remarks for Students in CS Courses

Unless otherwise specified by the individual professor, the work you do in Computer Science courses is expected to be the result of your individual effort - the use of a computer in no way modifies the normal standards of the above Code. You may discuss work with other students, and give or receive "consulting" help from other students, but such permissible cooperation should never involve one student having in his or her possession a copy of all or part of another student's assignment - regardless of whether that copy is on paper, on a computer disk, or in a computer file. This implies that there is no legitimate reason to send a copy of a program from one computer account to another, or to be logged-on to another student's account.

Discussion of general strategy or algorithms is permissible, but you may not collaborate in the detailed development or actual writing of an assignment. It is also your responsibility to protect your work from unauthorized access. It is inadvisable to discard copies of your programs in public places. This applies to both hand-written and programming assignments.

The penalty for any violation of this Code in Computer Science courses may be failure in the course. This includes collaboration, providing a copy, or accepting a copy of work that is expected to be individual effort.

Computer accounts are provided for course work only. They are not private accounts; they belong to the Department of Computer Science and the use of these accounts will be monitored in various ways. Accounts that are abused will be withdrawn.

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