The computer science major degree requirements are very flexible, and it is possible to complete a computer science major in many different ways. However, there are a few general guidelines:
About the math requirement: The computer science major requires one math course, which may be a calculus course, statistics, or math modeling. This math course can technically be taken at any point in the computer science curriculum, however, we recommend taking it as early as possible, preferably no later than when a student is taking COMP 241 or 251. This will give students time to take further math courses if they wish to study certain topics in computer science such as artificial intelligence, machine learning, data analytics, or graphics, or if they plan to attend graduate school.
All of these plans assume the student does not arrive with any AP, IB, or transfer credits—in those cases, students will have more free electives.
In each of the plans below, we assume the student is taking all of their degree requirements at Rhodes. These requirements are:
This totals 29 classes. In a normal 4-year curriculum, students will take 32 classes, so following these plans still allows for three free electives.
In many cases, students will arrive with AP, IB, or other transfer credits, or will take a course that satisfies multiple foundations requirements, which allows for more free electives in their schedule.
Note: The Rhodes College Catalog is the final authority over all degree requirements. Students should meet with their academic advisor to make sure all degree requirements are being met.
This plan is good for students who enter Rhodes knowing they want to major in computer science and wish to advance through the major quickly. We recommend taking the required math class by the fall of sophomore year in case the student wishes to take additional math classes. The schedule below explicitly lists five computer science electives, but students who start the major during their first year will often have time to take more.
First year fall | First year spring | Sophomore fall | Sophomore spring | |
COMP 141 | COMP 142 | COMP 241 | COMP elective | |
First-year writing | COMP 172 | COMP 251 or 231 | COMP 251 or 231 | |
F1 | F1 | F1 | Foundations | |
Foundations/Math | Foundations/Math | Foundations/Math | Foundations | |
Junior year fall | Junior year spring | Senior year fall | Senior year spring | |
COMP elective | COMP elective | COMP elective | COMP elective | |
Foundations | Foundations | Senior Software Eng | Senior Seminar | |
Foundations | Foundations | Foundations | Foundations | |
Foundations | Free elective | Free elective | Free elective |
This plan is good for students who want to explore computer science along with other possible majors at the beginning of college. The extra Foundations/Math slots in the first two years can be used to take introductory courses in other disciplines to see which major — computer science or something else — fits best. We recommend taking the required math class by the spring of sophomore year in case the student wishes to take additional math classes. The schedule below explicitly lists five computer science electives, but students who start the major during their first year will often have time to take more.
First year fall | First year spring | Sophomore fall | Sophomore spring | |
COMP 141 | COMP 142 | COMP 172 | COMP 241 | |
First-year writing | F1 | F1 | COMP 251 or 231 | |
F1 | Foundations/Math | Foundations/Math | Foundations/Math | |
Foundations/Math | Foundations/Math | Foundations/Math | Foundations/Math | |
Junior year fall | Junior year spring | Senior year fall | Senior year spring | |
COMP elective | COMP elective | COMP elective | COMP elective | |
COMP 251 or 231 | COMP elective | Senior Software Eng | Senior Seminar | |
Foundations | Foundations | Foundations | Foundations | |
Foundations | Free elective | Free elective | Free elective |
In this plan, doubling up on CS courses as shown below is recommended to allow for a less-stressful junior and senior year. However, doubling-up can be delayed longer, but will necessitate taking three CS courses simultaneously during junior and/or senior year. We recommend taking the required math class by the spring of sophomore year in case the student wishes to take additional math classes. The schedule below explicitly lists five computer science electives, but students who start the major during their first year will often have time to take more.
First year fall | First year spring | Sophomore fall | Sophomore spring | |
First-year writing | COMP 141 | COMP 142 | COMP 241 | |
F1 | F1 | COMP 172 | COMP 251 or 231 | |
Foundations/Math | Foundations/Math | F1 | Foundations/Math | |
Foundations/Math | Foundations/Math | Foundations/Math | Foundations/Math | |
Junior year fall | Junior year spring | Senior year fall | Senior year spring | |
COMP elective | COMP elective | COMP elective | COMP elective | |
COMP 251 or 231 | COMP elective | Senior Software Eng | Senior Seminar | |
Foundations | Foundations | Foundations | Foundations | |
Foundations | Free elective | Free elective | Free elective |
This plan necessitates tripling-up CS courses twice. This can be done during senior year, as shown below, or may be possible earlier. For instance, it is possible to take COMP 142, 172, and 231 all simultaneously, though enrollment demands may prevent students from do this. Here, it is beneficial if the required math class is taken in sophomore year, but even taking it fall of the junior year will leave time for additional math classes if desired.
First year fall | First year spring | Sophomore fall | Sophomore spring | |
F1 | F1 | COMP 141 | COMP 142 | |
First-year writing | Foundations/Math | F1 | COMP 172 | |
Foundations/Math | Foundations/Math | Foundations/Math | Foundations/Math | |
Foundations/Math | Foundations/Math | Foundations/Math | Foundations/Math | |
Junior year fall | Junior year spring | Senior year fall | Senior year spring | |
COMP 241 | COMP elective | COMP elective | COMP elective | |
COMP 251 or 231 | COMP 251 or 231 | COMP elective | COMP elective | |
Foundations/Math | Foundations | Senior Software Eng | Senior seminar | |
Foundations/Math | Free elective | Free elective | Free elective |
This plan is theoretically possible, but due to the prerequisite chain, it requires taking four CS courses simultaneously during one semester of senior year, which may not be possible due to course enrollment demands. It may be possible to take COMP 350 (Theory of Computation) during spring of junior year, as this course is the only upper-level elective that does not have either COMP 241 or 251 as a prerequisite.
Students wanting to major in computer science but not beginning COMP 141 until spring of sophomore year are highly encouraged to take summer courses to catch up. The best options would be taking a COMP 142-equivalent or COMP 172-equivalent course during the summer between sophomore and junior year, or any transferrable CS elective between junior and senior years.
First year fall | First year spring | Sophomore fall | Sophomore spring | |
F1 | F1 | F1 | COMP 141 | |
First-year writing | Foundations/Math | Foundations/Math | Foundations/Math | |
Foundations/Math | Foundations/Math | Foundations/Math | Foundations/Math | |
Foundations/Math | Foundations/Math | Foundations/Math | Foundations/Math | |
Junior year fall | Junior year spring | Senior year fall | Senior year spring | |
COMP 142 | COMP 241 | COMP elective | COMP elective | |
COMP 172 | COMP 251 | COMP elective | COMP elective | |
COMP 231 | Free elective | COMP elective | Senior seminar | |
Foundations/Math | Free elective | Senior Software Eng | Free elective |