Computer Science vs. Software Engineering

Which do you prefer?

  • (3 Pages)
  • +
  • 1
  • 2
  • 3

33 Replies - 20893 Views - Last Post: 16 March 2011 - 12:46 PM

#1 kdogg727  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 9
  • Joined: 12-December 08

Computer Science vs. Software Engineering

Post icon  Posted 01 January 2009 - 08:16 PM

Hey! I've been looking at careers in programming and I've narrowed it down to two majors: Computer Science and Software Engineering. I have noticed that most colleges offer computer science; however, they don't offer software engineering. Does this mean that software engineering is more upscale than computer science and therefore superior? What are the significant differences between the two of them? Also, in finding a career, are employers more apt to hire someone with a software engineering degree or a computer science degree? Does either one pay more than the other? Would it be a good idea to major in Software engineering and have a minor in computer science?

Is This A Good Question/Topic? 0
  • +

Replies To: Computer Science vs. Software Engineering

#2 Core  Icon User is offline

  • using System.Linq;
  • member icon

Reputation: 774
  • View blog
  • Posts: 5,097
  • Joined: 08-December 08

Re: Computer Science vs. Software Engineering

Posted 01 January 2009 - 08:33 PM

Computer Science is an abstraction of different domains of IT. It includes pretty much everything that is somehow connected to computers (hardware and software). It really dives into the fundamentals - on how the computer works and how the data is being processed, binary arithmetic, numbering systems - also describing different types of hardware. In many ways it sets a solid foundation for a software developer (as well as for anyone that is going to work in the IT domain).

Software Engineering is directly connected to software development, most likely not going too much into hardware. It usually covers in-depth a programming language (however, it could also cover more than 1 programming language), including many aspects of it.

I know many employers who require a BS in Computer Science, but there are also many that require a degree in Software Engineering. Some of them indicate that they require a BS in Computer Science or an equivalent. The degree is an important thing, however, many employers are also looking for specific skills. So if an applying developer has the necessary skills, both of the degrees are most likely to be suitable.

This post has been edited by Core: 01 January 2009 - 08:33 PM

Was This Post Helpful? 1
  • +
  • -

#3 trixt.er  Icon User is offline

  • D.I.C Regular
  • member icon

Reputation: 52
  • View blog
  • Posts: 426
  • Joined: 28-September 08

Re: Computer Science vs. Software Engineering

Posted 01 January 2009 - 10:35 PM

I am a student of BYU-Idaho and my major is computer science. We have to take Software Eng. 1 and 2.
Ever since I enrolled in the computer science major I have been programming and covering software developement
techniques that cover a broad spectrum of software algorithms. Plus we are also required to take basic hard
ware courses such as digital embedded systems and computer architecture. It all ties into software perfectly.
I am glad I have a basic knowledge of what is helping the software we develope run. It really helps.
Was This Post Helpful? 0
  • +
  • -

#4 P4L  Icon User is offline

  • Your worst nightmare
  • member icon

Reputation: 34
  • View blog
  • Posts: 2,788
  • Joined: 07-February 08

Re: Computer Science vs. Software Engineering

Posted 02 January 2009 - 08:26 AM

See, I am a Software Engineering major with University of Phoenix. I actually switched from the CS major because it didn't cover enough programming. Of course now I have about 6 different languages that I will be studying, most are completed. I still have Unix, .Net and C++ to do. I want to learn the software side, not just hardware.
I would have to say it depends on what you want to do. That should dictate your degree.
Was This Post Helpful? 1

#6 henryl  Icon User is offline

  • New D.I.C Head

Reputation: 2
  • View blog
  • Posts: 24
  • Joined: 12-May 06

Re: Computer Science vs. Software Engineering

Posted 02 January 2009 - 10:04 AM

Hi

About Computing, IEEE, ACM (Association for Comuting Machinery) and AIS (Associaiton for Information Systems), made a cooperative project named Computing Curricula Series. In 2005 published the "Computing Curricula 2005". This document provides an overview of the different kinds of undergraduate degree programs in computing. They have created this report to explain the character of the various undergraduate degree programs in computing and to help us determine which of the programs are most suited to particular goals and circumstances.

I'm from Colombia, University of Magdalena (Universidad del Magdalena). My research project tutor teach us about Computing Curricula 2005 on 2006 January, and showed us the importance of handling this information, especially for the choice of our research projects.

Finally, if you read the report, can see the Computer Ciences and Software Engineering are in the same level, but the themes addressed are focused on different areas of computing, which are related. Nothing is better than another, compare them to find what is best isn't good. It would be like comparing NASCAR and Formula 1.

The link of the report is http://www.acm.org/e...arch06Final.pdf
I hope that was helpful my post. Thank you.
Was This Post Helpful? 1
  • +
  • -

#7 Martyr2  Icon User is offline

  • Programming Theoretician
  • member icon

Reputation: 4332
  • View blog
  • Posts: 12,126
  • Joined: 18-April 07

Re: Computer Science vs. Software Engineering

Posted 02 January 2009 - 11:24 AM

Core summed up the differences nicely, but as pointed out by other people they don't always stick to that definition. So what should someone take away from this? Evaluate each degree on the classes it offers and pick the one that is more suited to what you want to be doing. You can get into a computer science degree program at one school and do 50/50 software and hardware. Another university may have a computer science course that is more hardware than software or more software than hardware.

While a software engineering degree will more than likely have more software, what languages it covers and how in depth it goes will vary.

I say look at both degrees equally and evaluate the classes they have as well as the elective options available. If you have enough electives you could do a computer science degree and bump up the software engineering courses through electives so that 70% of the degree is software or vice versa.

Keep in mind that you may also find a better tech degree at a tech school than a university. I find that tech schools are more likely than not to offer the degrees in software engineering while universities offer the computer science.

But overall I would look at the classes of each program and go with the one that has the right mix of what you are looking for. I really think employers don't really care too much the difference as long as you are using the skills they are looking for.

:)

This post has been edited by Martyr2: 02 January 2009 - 11:25 AM

Was This Post Helpful? 0
  • +
  • -

#11 philiv  Icon User is offline

  • New D.I.C Head

Reputation: 7
  • View blog
  • Posts: 3
  • Joined: 02-January 09

Re: Computer Science vs. Software Engineering

Posted 02 January 2009 - 12:46 PM

View Postkdogg727, on 1 Jan, 2009 - 07:16 PM, said:

Hey! I've been looking at careers in programming and I've narrowed it down to two majors: Computer Science and Software Engineering.


Well, I've earned a BS an MS in Computer Science and have spent some time in post graduate studies in AI/NLP. Admittedly my experience is a little dated, but considering that I am a manager who interviews prospective college graduates, you might want my opinion. If so, read on.

My company does not prefer one degree over another. We look for people who will become productive as quickly as possible. The main indicator I've found is not so much the kinds of computer courses people have had but rather, what is a person's attitude toward coding. Does a person find the details of software systems interesting? Do they get energized by the act of building software? Have they ever found themselves so involved in projects that they've worked for many hours straight without realizing it? The domain name of this website represents exactly what I am talking here: "dream in code"!

The thing is, school can only teach you so much. Being an effective developer means being very curious, hard working, and able to learn on one's own.

It seems to me Computer Science is more oriented toward the mathematical (read theoretical) aspects of computing, whereas, Software Engineering is more oriented toward practical aspects of computing.

In my mind the ideal candidate is versed in the theory (has a computer science degree), and has the personal drive to learn the practical aspects on his/her own.
Was This Post Helpful? 4

#12 homemade-jam  Icon User is offline

  • Gabe's Nemesis
  • member icon

Reputation: 11
  • View blog
  • Posts: 1,300
  • Joined: 17-March 08

Re: Computer Science vs. Software Engineering

Posted 03 January 2009 - 08:15 AM

CS is much broader and teaches you how to pick up a language - Software engineering is much more in depth.

Most universities let you switch between modules between the two courses as they are taught in the same building usually and you share classes with the two courses. I personally would go for CS because it gives you more scope and breadth of knowledge.
Was This Post Helpful? 0
  • +
  • -

#13 gunjanugt  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 8
  • Joined: 07-January 09

Re: Computer Science vs. Software Engineering

Posted 07 January 2009 - 09:27 AM

[Spam Removed]
Was This Post Helpful? 0
  • +
  • -

#17 matthew180  Icon User is offline

  • D.I.C Head
  • member icon

Reputation: 51
  • View blog
  • Posts: 202
  • Joined: 07-January 09

Re: Computer Science vs. Software Engineering

Posted 07 January 2009 - 03:00 PM

Wow, your post hit such a nerve with me that I created my DIC account just to reply. ;-)

First, philiv hit it right on the head and I'd sure like to work for him instead of my current employer!

I like to use the construction industry as a parallel because it is understood very well and people have been building things for a long time. Some people don't like the analogy, but IHMO it fits very well. It goes something like this:

A programmer writes code
An software engineer designs solutions
A computer scientist invents or makes existing ideas better

A carpenter cuts and nails boards (requires skill to do a good job and do it right)
An architect designs structures
A scientist invents or makes better materials

In my experience, managers in general, and "people" in particular lump all the computer related areas together into "programmer". To "them", a programmer can do all those things, and it gets worse when programmers are hired and expected to do the engineering or scientist jobs at programmer wages. It is like building a house by hiring a carpenter, giving him some materials and saying "build a house". No plans, no architect, nothing.

Programmers should be able to write good code that does specific tasks, ideally from a solid specification created by the engineer. A programmer, like a carpenter, needs to have skill and know their tools, i.e. system function calls, libraries, and what algorithms to use for specific types of tasks. They should also have some idea about how the code they are writing will affect the system they are writing it for.

Engineers need to know about the hardware and software at every level. They need to know how things fit together, how the solution will operate, what effects the code will have on the systems, etc.. It takes a *long* time to accumulate the knowledge required to be a good engineer. Like an architect who learns from studying other structures, you will spend a good deal of time reading code and technical specs. Also, to be really good you will have to focus since the field is too large to be great at everything; like an architect who specializes in bridges for example.

Scientists will use their math and logical skills to work out faster algorithms, new ways to process data, take advantage of new chips, etc.. Generally the good ones will specialize.

But, like I said before, you probably won't find this type of separation in the real world, and programmers generally are expected to do all of the above (and more, i.e. system admin, DBA, make coffee, take out the garbage, tech support, fix computers, etc.). A programmer can, over time, get to the engineer and scientist levels, no doubt about that (I consider myself an engineer level programmer with some ability to modify algorithms for specific tasks).

I work for a tech company with over 100,000 employees and most of the existing code I have seen or had to work on is a nightmare! They will hire a newbie programmer and set them to coding solutions - "uh excuse me, where is the spec? That is an engineer job...". Even "engineers" fresh out of school will make you cringe with the stuff they come up with.

Basically it comes down to everything philiv said, plus experience and time. To me it does not matter what degree you have, let me see your code or your solution to a real-world problem that I could not have figured out myself. Passion, curiosity, wanting to know how things work, those are more valuable than the degree.

Programming (as a general term to cover all of the above) is a talent like painting, singing, dancing, etc.. Just because more people use computers does not mean there is instantly more people who can code or engineer well. Just like cars, not everyone who can drive a car could fix a problem with the engine, and not everyone who could fix the engine could engineer and build the engine from a block of metal.

There is the perception that the computer field moves fast, and that once you decide to get into computers you will be able to learn just as fast. Don't believe the hype. If you learned to code in C or even x86 assembly back in 1983, those skills are still viable and much used today. New languages don't pop up every day, and anything new from a software stand point will take a long time to take hold, and then even longer to become irrelevant.

If you have some talent for computers and truly like working in the field, then you will have a drive and enthusiasm about you that people will pick up on, no matter if the paper says CS or SE.

Well, this turned into quite a soapbox post; probably strayed a little too... Sorry. ;-) Hope this helps at least a little.

Matthew
Was This Post Helpful? 4

#18 ksoftware  Icon User is offline

  • New D.I.C Head

Reputation: 2
  • View blog
  • Posts: 1
  • Joined: 09-January 09

Re: Computer Science vs. Software Engineering

Posted 09 January 2009 - 12:47 PM

"Computer Science" is a math degree - I'd steer clear unless you plan on staying in the world of academia. It might serve as a rubber stamp to get you in the door of some employers as it did once upon a time but I'm not really sure that still applies. Loads of people get degrees nowadays, few learn anything from them. You will not learn how to design and write good software by getting a Computer Science degree.

I left my Comp Sci studies with the University of Kentucky in 1999 when Matthew180 hired me to come and program for the company he was working for at the time. He quickly became my mentor and good friend and we work together constantly to this day. I learned more in my first 6 months working with him than I ever would have with any amount of schooling. It doesn't hurt that he is probably one of the best programmers in the world (though he'll humbly deny that) but it's a matter of learning in the real world rather than being taught in a classroom.

All that to say this - I agree wholeheartedly with what Matthew and philiv say about getting into the industry. Don't pick Comp Sci from a list of degrees just because it is there. You desperately need an interest in how computers and software work and a good mind for problem solving to be successful and, more importantly, to not go insane doing this kind of work. You NEED to enjoy it or you'll be flipping burgers with your BA in Computer Science.

Programming languages are just syntax, nothing more, so don't get hung up on them. The concept of software structures (loops, conditionals, logical operators, maths, etc) and *understanding* how it works is much more important than Java syntax (which you'll no doubt be exposed to in College and quickly find out that few people, if anyone, writes software in Java in the real world).

An internship along with your studies will net you much more benefit than just staying in a classroom for 4-8 years. Try to balance real-world experience with your studies - you'll never learn software engineering in a classroom.

Good luck!
Was This Post Helpful? 2
  • +
  • -

#19 homemade-jam  Icon User is offline

  • Gabe's Nemesis
  • member icon

Reputation: 11
  • View blog
  • Posts: 1,300
  • Joined: 17-March 08

Re: Computer Science vs. Software Engineering

Posted 09 January 2009 - 01:46 PM

That first paragraph is a ridiculous statement to make - courses vary greatly between institutions.

One uni/college's course of CS may consist of information theory and advanced mathematical algorithms (i.e. Oxford University in the UK) whereas another offers CS including Hardware design, systems engineering along with the other maths but majoring on the physical, applied computing.

Basically look at your course modules and work out if it is an applied or theoretical CS course.

And btw, I know plenty of companies who use java!

This post has been edited by homemade-jam: 09 January 2009 - 01:47 PM

Was This Post Helpful? 0
  • +
  • -

#20 KYA  Icon User is offline

  • g++ jameson.cpp -o beverage
  • member icon

Reputation: 3101
  • View blog
  • Posts: 19,140
  • Joined: 14-September 07

Re: Computer Science vs. Software Engineering

Posted 09 January 2009 - 02:46 PM

Computer Science is a BS degree, not BA.
Was This Post Helpful? 0
  • +
  • -

#21 homemade-jam  Icon User is offline

  • Gabe's Nemesis
  • member icon

Reputation: 11
  • View blog
  • Posts: 1,300
  • Joined: 17-March 08

Re: Computer Science vs. Software Engineering

Posted 10 January 2009 - 12:21 AM

Some places it is a BEng
Was This Post Helpful? 0
  • +
  • -

#22 thbp  Icon User is offline

  • D.I.C Head

Reputation: 1
  • View blog
  • Posts: 78
  • Joined: 21-December 08

Re: Computer Science vs. Software Engineering

Posted 14 January 2009 - 07:29 PM

Im 14 and i want to get a job working with computers (writing programs and then selling stuff in a computer store and working on them etc.)
and I am completely cluelus on wich I schould look forward to (graduating in 4 years)

by no way am i really smart i barely pass genral math (but do fine in alegebra (confuses the heck out of me)).
Was This Post Helpful? 0
  • +
  • -

  • (3 Pages)
  • +
  • 1
  • 2
  • 3