Poll: Software Engineering degree vs Computer Science

3 points by jon6 ↗ HN
For anyone with a computer science degree, if schools offered a legitimate Software Engineering degree as well as a Computer Science degree would you have chosen Software Engineering instead?

I don't have enough karma to make a real poll so I guess just say yes or no in the comments.

8 comments

[ 2.6 ms ] story [ 29.8 ms ] thread
I took computer engineering instead of computer science because it provides a more in depth study of the field . The reverse was that it took longer to finish it and it was harder. So, the answer was yes.
He asked about Software Engineering vs CS. CE is CS + EE so CE is going to be very hard at a good school. CS is a math oriented view of our field while SE is more practices and Engineering approach. I would say that the CS degree is more valuable than the SE degree.

No.

Depends on which school you go, CS might be business oriented ,and have to take accounting and other crap
Doesn't really matter. CS is more theory oriented than SE. But you probably get enough electives in either degree to take courses from the other that interest you. One negative thing about SE is that you are forced to take a whole bunch of courses like Chemistry for the sole purpose of getting the Engineering accreditation which gives you significantly less electives than CS.
At my school, there are only a few classes that are different between Software Engineering and Computer Science majors. CSC students have a little more focus into theoretical computing and theory, whereas SE tends to be more practical with classes on things like the software development process.

I'm currently taking computer engineering and I really enjoy it. It is a mix of CSC and EE and unlike our CSC or SE majors, it requires taking higher level math and physics courses which are needed to analyze complicated circuits. I've grown to like developing software more, but it is valuable and interesting to learn about hardware as well.

Take whichever sounds more interesting to you, but in the long run, there isn't much of a difference. Also, you should be able to take some technical electives to learn specific skills.

I think my school has the best option--rather than a "Software Engineering" degree, we have an "Electrical Engineering and Computer Sciences" program. In practice, this means we end up taking the intro courses for both EE and CS and then we can mix and match however we like. Somebody could specialize entirely in theoretical CS or go for a more practical engineering education. You could also focus on EE almost exclusively, if that's what you want. This program provides significant freedom and versatility--I can basically do whatever I want once I'm done with the intro series--while ensuring that even the theoretically biased CS students understand how the computer works at a lower level and the EE students understand what people will be doing with their processors.

My impression is that most "Computer Engineering" programs--I suspect that "Software Engineering" is similar as well--are less flexible. With the EECS major you're free to basically do anything related to computers; "Computer Engineering" on the other hand is more about lower-level CS and some high-level EE. You could specialize in Human-Computer Interaction, AI or Machine Learning in EECS, which are all fields that (as far as I know) do not fall under "Computer Engineering".

However, my only real experience is with my university. I only have a vague idea of how exactly this all works at other universities, but they seem to split the subject area I'm covering into two or three different majors. If EECS is what you meant by "Software Engineering"--it is computer related, and it is in the college of Engineering--then I am taking it, and don't regret my choice at all.

Oh sorry I didn't realize my poll came out as trying to seek advice. I'm currently in a PhD program in CS and I'm happy with it. I'm not sure what I would have chosen when I was just entering college though, not knowing really anything about either field.

I talk to a lot of people currently in school and who have graduated from CS who complain that CS didn't prepare them for the real world and there are a lot of concepts they will never use from a CS degree anyway.

My thinking was that CS is to SE as Physics is to EE or something along those lines. That is, CS as its currently taught isn't theoretical enough in my opinion. I could see a pure CS degree dropping such courses as databases and operating systems in favor of more algorithms and statistics or more programming language classes.

I think CS can make a person a very strong programmer but I can see how many people just don't care for the more theoretical aspects.