Software Engineering VS Computer Science

Started by
9 comments, last by Slinky730 17 years, 2 months ago
Hey guys, can I get some advice on differences of these courses and also your opinions on which one is better. I know that software engineering is more of a prestigous course because its an engineering subject and that computer science may involve more actual programming than software engineering but I really need more information. For example, when companies need a game programmer which one do they usually prefer? Also, anyone that has done these (or experienced both) please share your insites and experiences. I will probably be taking one of these this year so I want some professional game dev insite to go into my decision. Thank You :D - BlindSide
Advertisement
The long short of it is this:
Software Engineering is about overall program architecture and development process.
Computer Science is about using computers to solve problems, and therefore delves into algorithms, analysis, et cetera.

So in the field, a SE major would be better suited for overall system architecture design, while the CS major would be better suited for implemented the compression scheme or network protocol.

A good programmer should know both.
Hmm yes I see that. But Im probably only going to do one as they are completely different subjects that are (3 or 4 respectively) years long. Im gessing than if I want to do actual C++ coding then Computer Science is the way to go?
Quote:Original post by BlindSide
... I know that software engineering is more of a prestigous course because its an engineering subject and that computer science may involve more actual programming than software engineering but I really need more information. For example, when companies need a game programmer which one do they usually prefer?


No no no, it's the other way round (at least in all the universities I know of). Computer Science is a very academic subject, and (especially in my particular course), contains very little actual implementation or programming. We did an 'introduction to Java' course in the first year, a little Prolog, a little SML, and then a little more Java later on (though only as a sideline to the more academic stuff). The vast majority of what we 'learn' is very dull; algorithms, logic, formal methods and specification (Z! Yuck!), concurrent programming, database and relational theory, image processing (the maths behind it, anyway), AI (from a logical POV), and one hell of a lot of maths (an uncountably large quantity of it). Note that all of these are approached in a stupidly academic way - concurrent programming for example is only abstract reasoning and specification of concurrent systems using things like CCS, rather than actually making a multithreaded app.

Software engineering is more about actually, er, engineering software. If I could turn back the clock 4 years, I'd choose that.

However, to answer your question; most people (employers) rank CS higher since they don't know what it entails in reality. If you want to be employed, go for CS, if you want to learn useful things, go for software engineering.

Note that this isn't necessarily the universal truth; I'm only speaking for the CS and engineering courses I know about (perhaps 10 British uni courses). Hope I've been of some help :)
you hymerman, you have :)

But this leaves me confused once more, SC is a shitty subject, but need it for jobs, but Engineering is more fun throughout. Also your description seems slightly out of tune with visages' or I think so anyway. Im not very familiar with all these academic terms. Right now Im just a hobbiest that gets a nice idea once in a while and codes it (game centric most of the time).

Today Im heading off to an open day type thing so hopefully there will be some more useful opinions.
It's not so much what you do that's different, it's how you do it. "Software engineers" tend to spend more time planning and less time coding, whereas "programmers" or "computer scientists" spend more time coding and less time planning. Really, it's a matter of personal preference in approach, and often the terms are used interchangably. Software engineering looks better on a resumé, IMO, and the title usually means higher salary, but I personally don't care for the SE coursework, as it usually means spending 75% of your time writing documentation instead of coding.
Software Engineering is a sub-set of computer science. Its seen as much easier as you don't need much of a math background to do well in it (class-wise, its mainly group projects, which I personally found somewhat difficult). Most colleges don't offer degrees in software engineering, where are you thinking of going? Work wise, SE deals with how to plan and manage a group of IT people. Also, right now SE is sometimes ignored in industry - some companies take it seriously, and some don't.
Do want I did and choose Computer Science and do some software engineering modules. I went to Manchester Uni (UK) and did computer science with maths and also did two modules in software engineering. You can even do a joint honours degree and do CS+SE. I'm not sure how it works where you are, but you can have your cake and eat it too.
The details of any academic program vary by institution.

The only way to find out for certain what their differences are is to ask them.

As was mentioned before, the common difference is as follows:

Computer Science: The science of computers. It involves a lot of theory. Generally it includes a lot of practical material as well.

Software Engineering: How to engineer software. It focuses a little less on theory and a little more on application.

Schools that choose one name over the other generally have a mix in their program.

Schools that offer both will generally have considerable overlap and have electives that cross over each other, but will focus more on one topic or the other.


Additionally, it is common for there to be an emphasis on a particular topic, such as perhaps network engineering and distributed processing, systems integration, theoretical computing, compilers, machine learning, algorithms, and so on.


Contact the academic advisers in the departments you are interested in at multiple schools, and they can tell you the details of their programs.
Ok I think I will go with Computer Science for the reliability and the actual coding involved. To be honest Im hoping to do well in the Law side of my degree and pursue that, but I figured if I didnt make it my Comp Sci part can help me get a job that involves my hobby. I even heard some people saying degrees are unneccesary for programming jobs, but I figure I would just start applying when I head off to uni and if something really really good pops up Ill try and arrange a parttime thing maybe they will even compensate studies if they like me (Unlikely I know :P But I can dream!)

Anyway cheers guys have a good un' eh.

- The OG B-Side :D

This topic is closed to new replies.

Advertisement