Degree Requirements
BS Degree in Computer Science
BS Pre-major Requirements
Students pursuing a BS degree in Computer Science must first complete the following pre-major requirements with a GPA no lower than a 2.0:
- CSC 171: Introduction to Computer Science
- MATH 150: Discrete Mathematics
- CSC 172: Data Structures and Algorithms
- Calculus: Either MATH 14x, MATH 16x, or MATH 17x (placement determined by the Math department)
As part of the University's basic science sequence regulations, a grade of C- or better is required to progress from CSC 171 to CSC 172 and from CSC 172 to CSC 173.
Students taking MATH 17x may take the MATH 150A supplement to satisfy the MATH 150 requirement.
After completion of the pre-major requirements students are eligible to officially declare their major in CS. Please click here to learn more about declaring your BS in Computer Science.
BS Core Requirements
Students pursuing a BS degree in Computer Science must then complete the following six (6) core courses:
- CSC 173: Computation and Formal Systems
- CSC 242: Introduction to Artificial Intelligence
- CSC 252: Computer Organization
- CSC 254: Programming Language Design and Implementation
- CSC 280: Computer Models and Limitations
- CSC 282: Design and Analytics of Efficient Algorithms
Students pursuing a BS degree in Computer Science must also complete additional math requirements:
- STAT 190: Introduction to Statistical Methodology (formerly STAT213 or CSC 262) OR
- ECON 230: Economic Statistics
- MATH/STAT 201: Intro to Probability
- MATH 165: Linear Algebra with Differential Equations OR
- MATH 173: Honors Calculus III
Students who receive AP credit for STAT 180: Introduction to Applied Statistical Methodology (formerly STAT212) may inquire with the STATs dept. about taking the STAT 190 (formerly STAT213) Equivalency Exam: https://www.sas.rochester.edu/stt/resources.html
BS Advanced Requirements
Students pursuing a BS degree in Computer Science must complete four 4.0 credit advanced courses numbered 200 or higher in Computer Science. This does not include core or math courses listed above.
No more than two core or advanced courses may be completed at other institutions unless they are taken as part of the University's education abroad program. See department policies on transfer credit.
All Computer Science majors must satisfy the University requirement for upper-level writing in Computer Science (see below).
Honors Research in Computer Science
Students pursuing honors in research as part of their BS degree in Computer Science must complete the following requirements in addition to their standard degree requirements:
- CSC 200H: Undergraduate Problem Seminar
- CSC 391H: Independent Study
- CSC 395H: Senior Honors Thesis
- Maintain a minimum Major GPA of 3.3
The sequence for obtaining honors is as follows:
- Junior Year Spring Term
- Take CSC 200H
- Find and consult with a Computer Science faculty member who is willing to supervise and guide an honors project
- Senior Year Fall Term
- Take CSC 391H (4 credits), typically under the supervision of the thesis advisor
- Students must complete this form: CSC Independent Study Form
- Begin to formulate and refine research topic for Honors thesis
- Approach a second CS faculty member to serve as a secondary committee member. The second committee member must be selected in consultation with the primary advisor. Approval by the primary advisor is needed for non-cs faculty members.
- Senior Year Spring Term
- Complete the Thesis Form with your committee members and send to smills14@cs.rochester.edu
- After thesis form is approved, you may register for CSC 395H (4 credits).
- Write a paper in the style of a scientific journal article and submit a draft to your committee no later than April 1
- Present the thesis in a public seminar and successfully defend it in a private oral examination by (at least) the thesis committee and an additional faculty member chosen by the student.
- Prepare a poster and present your work at Hajim Senior Design Day.
The degree of honors awarded (“honors in research,” “high honors in research,” or “highest honors in research”) is determined by the Computer Science faculty in consultation with the student's honors committee. The quality of the thesis, its presentation, and other Computer Science research and publications throughout the student's undergraduate career are all considered. If a student does not complete all requirements, they will not receive honors designation.
**Students planning to graduate in December must speak with Sarah Mills in the prior semester to confirm thesis plan.
BA Degree in Computer Science
BA Pre-major Requirements
Students pursuing a BA degree in Computer Science must first complete the following pre-major requirements with a GPA no lower than a 2.0:
- CSC 171: Introduction to Computer Science
- MATH 150: Discrete Mathematics
- CSC 172: Data Structures and Algorithms
After completion of the pre-major requirements students are eligible to officially declare their major in CS. Please click here to learn more about declaring your BA in Computer Science.
BA Major Requirements
Students pursuing a BA degree in Computer Science must complete two (2) core courses from the following list:
- CSC 173: Computation and Formal Systems
- CSC 242: Introduction to Artificial Intelligence
- CSC 252: Computer Organization
- CSC 254: Programming Language Design and Implementation
- CSC 280: Computer Models and Limitations
- CSC 282: Design and Analytics of Efficient Algorithms
Students must also complete seven (7) CSC major electives. This is any four-credit CSC course subject to the following restrictions:
- No more than one CSC major elective may be numbered below 171.
- CSC 161 may not be used for CS major credit if completed after or at the same time as CSC 171, or if a student receives AP or transfer credit for CSC171. The same for CSC 162 and CSC 172.
- No more than two CSC major electives may be independent studies (39x)
- Students pursuing the BA are encouraged to create a program of study that allows them to concentrate on one or more tracks in Computer Science. Here are some suggestions: Track Listings
No more than two core or major electives may be completed at other institutions unless they are taken as part of the University's education abroad program. See department policies on transfer credit.
All students must also satisfy the University requirement for upper-level writing in Computer Science (see below).
Writing Requirements in Computer Science
The University requires that all first-year students fulfill a primary writing requirement by the end of their first year.
The University also requires all students to take two upper-level writing courses approved by their department for their major.
The following courses are preapproved for ULWs:
- WRTG 290B: Writing About and With Artificial Intelligence
- WRTG 273: Communicating Your Professional Identity (Soph. & Juniors only)
- CSC 273W: Writing in Computer Science
- CSC 299W: Social Implications of Computing
- CSC 391W: Independent Study Writing
- CSC 395H: Honors Thesis
- PHIL 235W: Data, Algorithms, Justice
- PHIL 243W: Theory of Knowledge
- PHIL 244W: Philosophy of Mind
- PHIL 246W: Social Character Knowledge
- PHIL 247W: Philosophy of Language
- PHIL 252W: Philosophy of Science
- PHIL 257W: Philosophy of Artificial Intelligence
Courses must have a W designation and compliment your computer science studies. For courses not listed here, please consult with your UGC.
Cluster Requirements in Computer Science
Computer Science majors must complete two clusters: one in the humanities and one in the social sciences. All University requirements for clusters apply.
Minor in Computer Science
Students pursuing a minor in Computer Science must complete six (6) four credit Computer Science courses above the level of 130.
Courses outside Computer Science may not be counted for the minor unless they were cross-listed with a Computer Science course at the time that they were taken.
No more than two of the six courses for the minor may be completed at other institutions unless all the external courses are taken as part of the University's education abroad program. See transfer credit instructions here. AP Computer Science credit cannot be used towards the minor.
To declare a Minor in Computer Science, you must complete at least two (2) CSC courses with a grade of C or better. To officially declare your minor, submit a minor declaration with your six planned courses listed.
Last Change: 27 March 2024