I’m interested in computer science but also want to take plenty of electives. My education does not have to be “liberal arts” per se, but it should be in that direction. At many schools, comp-sci majors are stuck in the engineering school or something and therefore don’t take many electives. Do I need to get a BA (Bachelor in Arts) to get what I want? If so, do employers scoff at BA graduates? Either way, what schools do you recommend for either BS or BA in CS that allow plenty of electives?
Assuming that the major as recorded by the university and appears on your transcript is “computer science” most employers won’t know or care about the differences in the CS degree given with the BA rather than the BS designation.
You’ll have time to take courses in departments other than the CS department. But in practice not a lot of time. CS requires a significant amount of coursework, some of it preparatory, some of it basic, some of it state-of-the-art. Pick a university or two that offers CS as a major, and review the course catalog. Taking care not to skip prerequisite courses in the sciences and math work through a thorough practice schedule. Make sure you cover data structures, operating systems, introductory hardware, some compilers, some internet, some database, some design formalism, etc. Make sure that most of the CS courses have a project component. Then ideally with a recent talented CS graduate look over the courses on your list. Keep the essential courses. Your future employers expect those. Keep in mind that your future employers also expect lots of As. Those required CS projects that are at the heart of many CS courses take a lot of time. What’s left? I expect time for a handful or two of courses that are the “plenty of electives”.
You are either uninformed about CS or kidding yourself. The required curriculum for a CS degree is going to soak up most of the classes you take, and definitely most of your time. Before you chase unicorns much longer talk to some real CS students to understand what it takes to get this “trendy” degree and decide whether this is really the right field for you. My bet: no
You can take some classes, I know my daughter had to take boatload of GE classes. It depends on the school but you can pace yourself. I think the UCLA blog may be an extreme. My daughter is working for a BS in CS, so I think you have more room in your schedule to even take more classes than her schedule if you go the BA route. It seems like there are no difference is job opportunity regarding BA vs BS CS.
Interesting I saw the name Justine Bateman and it sounds very similar to the guy from TV show. It turns out it’s the same guy. Thanks for the link. I forgot who this Justine Bateman is but she is 28 years old woman with kids. So of course it’s hard. I know the blog has a lot of swearing but she has more responsibilities than just go to school.
So it seems like for CS majors, you don’t get many electives. How many is “not many”? One per semester? One per year?
It seems like at least one per quarter. But some quarter my kid has 2 or 3. It’s not that few. She just finished sophomore year and still has to take 3 more.
No, it won’t. Most colleges require around 120 credits, which for an average of 3 credits per class works out to around 40 courses. For example, check out Stanford’s major - there are six core courses, a speculation of 4-5 classes, and then 2-4 elective classes. That’s around 15 classes at the high end, which is about average for a major at most colleges. There also cognate classes in math and physics - so CS majors at Stanford need to take two math electives and two physics electives. So let’s just round up to 20 courses.
That leaves OP with 20 other classes that they can take in different fields. Some of those will be distributional requirements, but you can usually pick your own classes within a certain division (so if you have to take a humanities class, that class can be a literature, history, or philosophy class) Stanford also has joint majors with computer science - so there you can pair CS with comparative literature, Iberian and Latin American cultures, Spanish, classics, English, French, German studies, Italian, history, linguistics, music, philosophy, and Slavic languages and literatures.
I checked out MIT’s EECS requirements - one of the most rigorous programs in the country - and they also have 15 courses. There are probably some mathematical cognate courses I am missing that bring it up to around 17-20 depending on how much math and physics a student comes in with already. In fact, like most other universities in the world, MIT actually requires you to take courses in other things - including 8 classes in the humanities, arts, and social sciences.
That’s not to say that you won’t spend a lot of time on CS classes and projects, but every major spends a lot of time on the projects in their majors. English majors may spend a whole weekend finishing up a paper; sociology majors may run around trying to get together participants for an independent study or thesis project. I’m not even saying that CS majors aren’t somewhat more rigorous than other majors (although it really depends on the school and the departments themselves). But if you go to a traditional liberal arts college or university (which most places - even MIT - are) then sure, of course you’ll be able to explore other subjects.
Whether or not you need to get a BA will depend on the school. Some schools don’t offer you a choice - everyone gets either a BA or a BS, and the requirements are the same. At schools where you do have a choice, the BA is usually the one with fewer requirements, and as was mentioned your employers won’t notice or care whether you have the BA or the BS. What they care about is what you can do.
My son is also interested in computer science. What we have found is some graduate programs want a BS in CS, not a BA.
According to http://web.mit.edu/catalog/degre.engin.ch6.html there are 48 units of unrestricted electives out of the 180-192 total units required. So about 1/4 of the units are free choice.
UCLA checklist is at http://www.seasoasa.ucla.edu/undergraduates/worksheets-all-majors/CS_2014-15_061814.pdf
I see a heck of a lot more than 20 required classes.
For Carnegie Mellon, see https://www.csd.cs.cmu.edu/education/bscs/currsequence_14.html 8 free electives over 4 years (eg 1 a semester) plus some other limited choice electives to satisfy requirements.
BA: less science classes
BS: more science classes
Strictly speaking, if you want to study CS and have a lot of freedom, look at programs outside of colleges of engineering. Employers (and even grad schools) won’t distinguish between BA vs. BS, because the main difference is that the BS has more required classes in your major, but you can take as many with a BA, you simply get to choose them. Most colleges will require you to have about 1/3 of your classes in general education classes to make sure you’re broadly educated. 1/3 will be your major. The 1/3 left can be free electives, complementary classes, core classes, it all depends on the college.
Look into Harvey Mudd, by the way, since it has both the strong science component and the Liberal Arts component you’re seeking. However you need to be the tippy-top student at your school, with scores in the 750-800 bracket, and calculus is a pre-requisite (the only school in the US with CalTech that requires it in HS, and where most applicants have way more than that).
I got a 35 on the ACT and took calc. Thanks for the tip
2 35-ACT students that are reporting on CC attending Santa Clara university, one in state and one out of state.
If you’d like to explore two or three electives per semester, try Amherst, Brown, Grinnell, Hamilton or Smith. Then cross-refererence their computer science offerings with @fogcity’s suggestions to make sure their respective CS curricula are comprehensive. In terms of BA vs. BS, two current Hamilton professors co-wrote a CS textbook that has been used nationally, so these BA schools must be doing something right.
@juillet Your estimate of how much time it takes is based on your personal experience as a CS major? Your close friendship with a few CS majors, where you got to see what it took them? Or just a guess based on perusing a few dept web pages and your estimate of how much work that really means?
@badgolfer I think you’re over generalizing. The required curriculum for a CS degree does not have to take up most of your time or soak up most of the classes you take, especially if you are not in an engineering school and even more so if you are pursuing a BA.
I’m a math/CS double major who is minoring in music, but my music credit load am more like someone who is also majoring in music (I’m just not taking the same credits as one with a major would). I have yet to decide if I’m going to declare a BA or a BS, but at my university, a math/CS double major has the same core requirements regardless of whether you do a BA or BS. I am on track to graduate in four years.
If you think it’s just the college I chose, I also went to CWRU (got full tuition there as well as where I’m attending) and I would have been a music (requirement of scholarship) and either math or CS double major with a minor in whichever one I didn’t major in. Again, with the way my courses were planned out, this is was entirely possible and doable in four years while taking normal credit load if I did a BA in math or CS. The only difference in their degrees is that the BS in CS also has to take the engineering core, while the BA does not. These is no difference in terms of the CS curriculum or course requirements itself.
@heytherecolleges - There are basically 3 types of CS majors:
BA offered through a Liberal Arts College (with CS, Math and Science requirements)
BS offered through a Liberal Arts College ( with more CS,Math,and Science requirements)
BS offered through an Engineering College (with more CS, Math, Science and some Engineering requirements)
Within a Liberal Arts/Engineering College there are three types of curriculum requirements:
Core (Specific Required Courses)
Distribution (Required areas you must select courses from)
Open (No Requirements)
A degree from a Liberal Arts College will typically be a minimum of 32 courses (4 per semester, 8 semesters)
A degree from an Engineering College will typically be a minimum of 38 courses (5 per semester after 1st year)
The number of electives is a function of both the major and the type curriculum. Schools with a Core or Distribution Requirements will sometimes have fewer requirements for the major or a single course can satisfy both a major requirement and a core or distribution requirement.
Sometimes AP credit can be used to satisfy requirements.
Academia/Grad schools typically like a strong theoretical background, but they will be looking at your transcript, so they don’t care if you have a BA or BS as long as they see the requisite courses (i.e. you will typically need to take more than the minimum requirements if you are getting a BA.
Industry/companies typically like a strong practical background and don’t usually look at your transcript. They don’t usually care if you have a BS or a BA but tend to focus on what interesting projects you did, advanced courses you took and internships. Sometimes they will test you on your code writing ability. If it is an engineering company, they may prefer a BS offered through an Engineering College. If they are looking for people to work across the boundary between hardware and software, then they may prefer a BS in Computer Engineering (which typically has even more requirements).
Tufts has a very strong CS department that has multiple offerings ranging from a BA in Computer Science to a BS in Computer Engineering that tend to be pretty flexible. The College of Liberal Arts does have distribution requirements (which include two general science electives) that you need to account for.
General background
http://www.cs.tufts.edu/About-CS/cool-facts-about-cs-at-tufts.html
http://engineering.tufts.edu/docs/degrees/BSCPE_DegreeSheet2019.pdf
BA in Computer Science
http://www.cs.tufts.edu/Undergraduate-Computer-Science/major-in-computer-science-school-of-arts-and-sciences.html
BS Engineering in Computer Science
http://engineering.tufts.edu/docs/degrees/BSCS_DegreeSheet2019.pdf
BS in Computer Engineering
http://engineering.tufts.edu/docs/degrees/BSCPE_DegreeSheet2019.pdf
Good Luck!
The degree title (Bachelor of Arts or Bachelor of Science) does not matter per se. It can signify a different set of major or general education requirements at schools where the same major is offered with different degree programs where one leads to a BA and the other leads to a BS. But across different schools, the degree title difference is meaningless by itself.
What you really want to find out about each school is whether it has a reasonably complete set of CS courses offered reasonably frequently, and how well they teach you the important concepts that will be the basis of your future self-education in the subject through your career. Other academic factors, like the type and overall volume of requirements versus electives can also be factors in your academic evaluation of the degree program.
You are either uninformed about CS or kidding yourself. The required curriculum for a CS degree is going to soak up most of the classes you take, and definitely most of your time.
Not necessarily true. The CS courses required for a CS major at a school where the CS major is good may take up about 25-40% of the total courses or credits needed for a bachelor’s degree. This leaves a lot of schedule space for other degree requirements (e.g. math courses, science courses for engineering-based CS majors, humanities and social studies breadth courses) and free electives. Of course, degree programs with larger numbers of other degree requirements will have fewer free electives. For example, MIT students will need to use about a fourth of their courses on math and science general education requirements, and another fourth on humanities, arts, and social studies, while Brown students do not have any of these types of requirements.
It is true that CS courses with programming assignments and projects tend to be high workload courses compared to others of the same credit value.