To affiliate with the Computer Science major, complete the affiliation documents available at the forms webpage.
Here are some comments with respect to the requirements for the CS major in Arts and Sciences:
- The same course can be applied for both the Historical and Geographical requirements. Courses used in this capacity may be used to satisfy other requirements.
- A course satisfying the Historical, Geographical, probability, or vector requirement (i.e., the requirements represented as "underlines" on the checklist below) may also be used to satisfy another requirement. For example, MATH 4710 may count as a technical elective and satisfy the probability requirement, or CS4700 may count as a CS elective and towards the completion of the AI vector.
- Apart from the exceptions just given, no course can be used to satisfy two or more requirements.
- Courses used for the CS 4000+ electives category must be taken under the CS rubric. For example, CS 4302 is cross-listed with INFO 4302. This course must be taken as CS 4302, not as INFO 4302, to be used for the CS 4000+ electives category.
- Crosslisted courses parented by Computer Science cannot be used for the specialization. Check the courses page and click on a course link (not the semester link) to see the cross-listing status (the parent of hte a course is where the full course description is listed. For example, CS 4620 (crosslisted with ARCH 3704) lists CS as the parent department (i.e. the course description is listed for the CS offering, but for hte ARCH offering, you are redirected to CS), so it cannot be used to satisfy the specialization requirement. In addition, LING 4474, INFO 4302, INFO 3300, INFO 4300, and INFO 5300 are not eligible for the specialization.
Warning: This checklist, and all others found on this web site, are only intended for illustration purposes. You should NOT use this web version to track your degree progress. Instead you should use the appropriate hard copy checklist for your class year. A blank copy of the most current degree checklist is made available to new affiliates at the time they apply to the CS major. An updated copy of each student's personal checklist is kept on file in 303 Upson.
| Social Science and Humanities Requirements | ||||
|---|---|---|---|---|
| Course | Credit | Grade | Semester | Advising Notes |
| Freshman Writing Seminar | 3 | |||
| Freshman Writing Seminar | 3 | |||
| Liberal Studies |
5 courses (3+ credits) from 4 of the following 5 categories:
Cultural Analysis (CA), Historical Analysis (HA), Knowledge, Cognition and Moral Reasoning (KCM), Literature and the Arts (LA), Social and Behavioral Analysis (SBA) |
|||
| Liberal Studies | ||||
| Liberal Studies | ||||
| Liberal Studies | ||||
| Liberal Studies | ||||
| Foreign Language = | Option 1: Passing a) a non-intro foreign language course at Cornell at the 2000 level or above or b) any other non-intro course conducted in a foreign language at Cornell. Option 2: Passing at least 11 credits in a single foreign language at Cornell. | |||
| Foreign Language = | ||||
| Foreign Language = | ||||
Geographical Breadth Requirement _________
Historical Breadth Requirement ____________
| Mathematics and Science Requirements | ||||
|---|---|---|---|---|
| Course | Credit | Grade | Semester | Advising Notes |
| PBS | PBS= Physical/Biological Sciences | |||
| PBS | ||||
| Math 1110 | 4 |
The Calculus Requirement. Math 1910-1920-2940 is also acceptable. |
||
| Math 1120/1220 | 4 | |||
| Math 2210 | 4 | |||
| CS 1110 or 1112 or 1114 or 1115 | 4 |
Introductory Programming |
||
| CS 2110 or 2112(1,2) | 3 | |||
1: Note: Java or C++ experience necessary. Students that took CS 1112 or CS 1114 prior to fall 2012 - who have no prior experience in Java or C++ - should take CS 1130 (Transition to Java).
2: Note: CS 2112 is a 4-credit intensive (honors) alternative to CS 2110.
PROBABILITY COURSE: One of BTRY 3080, CS 4850, ECE 3100, ECON 3130(beginning fall 2013)/ ECON 3190(prior to fall 2013), ENGRD 2700, or MATH 4710 (Taking a 3000+ level course strongly recommended) __________
| CS Core | |||||
|---|---|---|---|---|---|
| Course | Credit | Grade | Semester | Advising Notes | |
| CS 2800 | 3 | Discrete Structures | Pre/co = CS 1110 or 1112 or 1113 or 1114 | ||
| CS 3110 | 4 | Data Structures and Functional Programming | Pre= CS 2110 | ||
| CS 3410 or 3420 | 4 | Digital Systems | Pre = CS 2110 | ||
| CS 4410 | 3 | Operating Systems | Pre = CS 3410 or 3420 | ||
| CS 4820 | 4 | Theory of Algorithms | Pre= CS 2800 and 3110 | ||
|
Electives
|
||||
|
Course
|
Credit
|
Grade
|
Semester
|
Advising Notes
|
| CS 4000+ = | 3+ |
CS Electives (see 4th bulleted note above) : Select 3 non-core CS 4000+ level courses (3+ credits). CS 4999 NOT allowed. |
||
| CS 4000+= | 3+ | |||
| CS 4000+ = | 3+ | |||
| CS Project = | 2+ | CS project = 4121, 4321, 4411, 4621, 4701, 4758, 5150, 5412, 5414, 5431, 5625, 5643, or 6670. | ||
| Technical Elective= | 3+ | Technical Electives: 3000+ (3+ crs) from application areas: CS; Bio; Chem; Math; Econ; Psych; etc. [only one of ENGRD 2700 or MATH 2930 accepted] At most two CS 4999. For other Independent Studies, see 303 Upson. | ||
| Technical Elective= | 3+ | |||
| Technical Elective= | 3+ | |||
| External Specialization= | 3+ | External Specialization: Three 3000+ courses (3+ crs) from the same subject area. CS courses, LING 4474, INFO 4302, INFO 3300, INFO 4300, and INFO 5300 are not eligible. SPCL: __________________ | ||
| External Specialization= | 3+ | |||
| External Specialization= | 3+ | |||
| Major Approved Elective= | Major Approved Elective: At least 3 credit hours total. All academic courses count. No PE courses, courses numbered 10xx, or ROTC courses below the 3000-level, or courses explicitely noted by the College of Arts and Sciences as non-academic allowed | |||
| Free= | At least 4 courses - 15 credits total. NO CS COURSES ALLOWED. This is a College Requirement (= "Arts Electives"). | |||
| Free = | ||||
| Free = | ||||
| Free = | ||||
| Extra Courses | ||||
|---|---|---|---|---|
| Course | Credit | Grade | Semester | Advising Notes |
VECTOR(s): All CS majors must complete at least one vector. See 'Vectors' page for details about vectors and to declare your vector.
Vector Name: __________________ Completed? ___________________
Vector Name: __________________ Completed? ___________________
Vector Name: __________________ Completed? ___________________




