Videos
I have spent hundreds of hours researching what courses to take for my computer science major. I’m creating this guide to hopefully help anyone else in the same boat.
If anyone from the computer science department is reading this, please make this information easier to digest.
PREPARATION
First off, when scheduling your classes, you may want to use a spreadsheet. You will also want to take advantage of classes.osu.edu. syllabi.engineering.osu.edu will help you find the syllabuses and additional details about computer science courses. Same with syllabus.osu.edu but for non-major courses, though many classes don’t have their syllabus linked there. Don't forget to run degree audits at least every semester to make sure you're staying on track!
OVERVIEW
There are 3 different, computer science majors, but you will be a pre-major when you first enter the university. You can apply to be in a computer science major up to twice, after you fulfill the requirements (listed in the requirements and sample schedule).
The three majors are BS CSE, offered by the college of engineering, and BS CIS and BA CIS, offered by the college of arts and sciences. Quoted from the department of computer science and engineering:
“The BS CSE and the BS CIS programs prepare students for a range of careers in Computer Science. The Computer Science portion of these two programs are identical to each other. The main difference between the two is that the BS CSE requires more math, science, and engineering while the BS CIS requires more general education courses including a foreign language.”
“The BA CIS program through the College of Arts and Sciences, allows students considerable flexibility in tailoring the choice of courses, including Computer Science courses, according to their specific interests. This degree requires the student to identify a related field that offers a high potential for computing applications, and take several courses in the related field at both the introductory and advanced levels. This is offset by a somewhat lighter set of requirements in advanced computing courses. The General Education component of this program is similar to that of the BS CIS program.”
TL;DR:
BS CSE has the most math, science, and engineering courses. BS CIS is the same in the computer science courses as BS CSE but trades some math and engineering courses for GEs and a foreign language.
BA CIS has fewer computer science courses and allows more freedom and flexibility; every student in that major must choose a related field and report to a related field advisor. Common related fields include Art, Design, Business, Psychology, Linguistics, etc. Looking at different minors you might be interested in (especially this list) can be a good starting point for what might be good for a related field, so long as you can connect the discipline to computer science.
CHOOSING COURSES
Look at the requirements and sample schedule! This will be the guide for the classes you MUST take!
Also, run degree audits, they will tell you all the requirements you have fulfilled and have yet to fulfill!
There is a minimum amount of credit hours you need to have, but this number is barely relevant because it is impossible to get under it and fill all the degree requirements. In fact, most will have at least 3 extra hours unless you test out of CSE 1223 (CSE the course type, not the major BS CSE); it is an intro to programming course with Java, and it can’t count as a major requirement since its course number is below 2000. It’s a dumb rule.
So if a parent ever asks you why you have more credit hours than needed, it’s because the important part is to fill all the degree requirements. The requirements are very specific and if you take a class that isn’t in the requirements, practically speaking it will not push you closer to graduation (wasted credit hours basically, I have a bunch of them and it sucks).
GENERAL EDUCATION (GEs)
Thankfully the new degree requirements effective AU 22 tell you what GEs you need to take. For legacy degree requirements (AU 2018 – SP 2022) you will need to look at the GE requirements for either the College of Engineering for CSE or the College of Arts and Sciences for CIS.
The easy classes list can help you choose what GEs to take. In addition, if you drop a class less than halfway through the semester, you can schedule for a second session class and have it count toward a GE requirement (helps if you need to drop a class but stay full time, like for scholarships).
If you’re coming from another school or you want to take classes at a community college, you can use Transferology and OSU’s semester equivalencies spreadsheet (it’s massive) to see how credits would transfer. I personally recommend taking GEs at community colleges because it’s cheaper tuition and only the credit transfers so long as you pass; the grades don’t transfer and don’t affect your OSU GPA.
You can also see how AP/IB credits transfer here and here.
Remember that you need to send transcripts to OSU for the credits to count here!
COMPUTER SCIENECE COURSES
Every computer science student needs to take CSE 2221, 2231, 2321, 2421, 2501 (or PHIL 2338), and a 390X course.
BS CSE and BS CIS require CSE 2331 or CSE 2431, while BA CIS does not. However, they are prerequisites for plenty of CSE technical electives (TEs). Others on this sub recommend 2431 (Systems II: Operating Systems) because they say there is lots of info in that class that you will be tested on in technical interviews. BA CIS also doesn’t require CSE 3341. If you are in BS CSE or BS CIS, you also must choose between one of two courses to fulfill the core requirements for 3 different cases. You also need to take a capstone course (a 551X course).
After you fulfil the computer science core, you will have to take CSE technical electives (TEs). For BS CSE and BS CIS, you also need 17 or 16 CSE Technical Electives (CSE courses 3000-level or above not already used to fulfill another requirement), respectively, 8 or 7 of those can be approved non-CSE TEs, respectively.
If you are BA CIS, you have more freedom and only need to take 13 credit hours of CSE TEs; plus, the 551X capstone courses are not a requirement for the BA. If you don’t take 2331 or 2431 then check the requirements of each course carefully! In addition, 2331 and 2431 can count towards CSE technical electives in the BA.
For the BA, you will also need at least 12 credit hours of related field core (see the minor you’re working off of to help and/or ask your related field advisor). For the legacy requirements (before AU 22) you need at least 6 hours of related field TEs.
So, of the 27 credit hours required for BA CIS program electives, 13 need to be CSE courses 2331, 2431, or 3000+ level. 6 need to be related field electives, leaving 8 left potentially for approved non-CSE TEs.
Correct me if I’m wrong on anything here!
If you have any questions about any of this (and you probably do, I did) look up your question in the OSU subreddit to see if it has already been answered! If not, make a post yourself! It will likely get more visibility and comments than if you were to comment under this post! Don’t forget to run degree audits and contact your advisors (GE, major and/or related field) for relevant questions and degree planning!
Hopefully this guide helped!