- Diversity, Equity, and Inclusion
- Research News
- Department Life
- Oral History of Cornell CS
- CS 40th Anniversary Booklet
- ABC Book for Computer Science at Cornell by David Gries
- Department Timeline
- Job Postings
- Ithaca Info
- Internal info
- Graduation Information
- Cornell Tech Colloquium
- Student Colloquium
- Fall 2023 Colloquium
- Conway-Walker Lecture Series
- Salton 2023 Lecture Series
- Seminars / Lectures
- Big Red Hacks
- Cornell University High School Programming Contests 2023
- Game Design Initiative
- CSMore: The Rising Sophomore Summer Program in Computer Science
- Explore CS Research
- ACSU Research Night
- Cornell Junior Theorists' Workshop
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 for the CS major in either the College of Arts and Sciences or the College of Engineering are as follows:
- a calculus sequence (note different college requirements)
- Math 1110-1120-2210 (A&S)
- Math 1910-1920-2940 (ENGR or A&S)
- Computer Science course requirements (see chart for prerequisite structure of CS courses):
- introductory programming
- CS 111x (CS 1110 or 1112)
- CS 2110 (or CS 2112) or equivalent (i.e. ECE 2400/ENGRD 2140)
- a five-course computer science core
- CS 2800 (or CS 2802)
- CS 3110
- CS 3410 or CS 3420
- CS 4410 or CS 4414
- CS 4820
- three 4000+ CS Electives each at three credits
- Exceptions: CS 4090, CS 4998, and CS 4999 are NOT allowed
- a CS Practicum or Project course:
- CS practicums (CS 4xx1) or CS 3152, CS 4152, CS 4154, CS 4740, CS 4752, CS 5150, CS 5152, CS 5412, CS 5414, CS 5431, CS 5625, or CS 5643
- three 3000+ Technical Electives (information) (3 credit min per course)
- three 3000+ related courses to comprise an External Specialization--outside of computer science (3 credit min per course)
- 3 credits Major-approved Elective(s)
In addition, students' course selections must satisfy the requirement listed below. Note that courses used to satisfy this requirement are not extra but can be incorporated into the major requirements listed above, where applicable.
- a probability course: one of BTRY/STSCI 3080, CS 4850, ECE 3100, ECON 3130, ENGRD 2700 or MATH 4710. (Choosing a 3000+ level course among these options is strongly recommended.)
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. Please note that completion of a Vector in not required and vector completion is not confirmed nor noted on the transcript.
- A Bachelors of Science for students in the College of Engineering.
- A Bachelors of Arts for students in the College of Arts and Sciences.
Neither program has a particular advantage from the standpoint of employment or graduate school.
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.
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.
- A student assumes responsibility for the content and integrity of the academic work he/she submits, such as papers, examinations, or reports.
- 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.