Page 1 of 3

Computer Science vs Software Engineering vs Information Tech

Posted: Tue Dec 15, 2009 9:26 pm
by AndrewAPrice
What are the differences between Computer Science, Software Engineering, and Information Technology? It's not uncommon to see a university offering a range of degrees under each of those titles, and sometimes their own as well (Master of Computing and Innovation for example).

I've always viewed Computer Science as being more theoretical (but limited to programming), Software Engineering to be more hands on with designing and implementing solutions (but less of the actual programming), and Informational Technology as being networking and admin maintenance (rarely touching on programming). But I'm suspecting there's a larger difference between C.S. and S.E. because one is a science-based program and the other engineering-based.

I think in the field of programming Computer Science would be the strongest option even if by name only, since many positions advertise for a degree in "Computer Science or equivalent" and I'd much rather the former attached to my name than 'the equivalent'.

Re: Computer Science vs Software Engineering vs Information Tech

Posted: Tue Dec 15, 2009 11:03 pm
by stephenj
I'll warn you, you can't think of any of these { CS, SE, IT } in terms of programming. If you think of any of these as programming then you are in for a world of disappointment. The closest one is CS, but programming is nothing more than a grammar to describe computation.

Software Engineering sounds practical, but it isn't. Every software engineer I've met (that likes software engineering) has displayed an open disdain for programming. I think they secretly yearn for a CASE-to-code compiler so that they didn't have to dirty themselves with actually delivering something of value (as opposed to what they want to do, describing delivering something of value). If only they had studied enough CS to design one!

SE is about sucking all fun out of programming. The best thing SE does is form a contract that programmers have a hand in writing.

My university didn't have an IT program, so I won't comment on it.

You may want to look into "Computer Engineering". If I was about to start university, I'd definitely consider it.

Re: Computer Science vs Software Engineering vs Information Tech

Posted: Wed Dec 16, 2009 12:11 am
by Colonel Kernel
The terminology means different things in different jurisdictions.

I graduated with a CS degree, but with a "specialization" in software engineering -- called such because it's not a full engineering degree. At my university, the core CS program focused a lot on math, while the SE courses were a lot more practical and included quite a few programming projects. However, I learned most of my design and programming skills during work practicums (this is stuff you can't really learn properly without real-world experience).

Re: Computer Science vs Software Engineering vs Information Tech

Posted: Wed Dec 16, 2009 1:53 am
by pcmattman
The terminology means different things in different jurisdictions.
+1 - your best bet is to investigate each course's structure in your college/university of choice. Different schools and areas define these things differently.

My original software engineering degree (before I switched course) covered things such as electronics and embedded programming - emphasizing one concept of "engineering", while also covering things such as operating systems and CPU architecture ("software"). It also covered generics, such as project management and teamwork.

This is just one example, which reinforces the idea of investigating the schools in your area rather than trying to find a standardised, generic, definition (because it doesn't exist, as far as I can see).

Re: Computer Science vs Software Engineering vs Information Tech

Posted: Wed Dec 16, 2009 2:09 am
by AndrewAPrice
stephenj wrote:The closest one is CS, but programming is nothing more than a grammar to describe computation.
Sorry, by not strictly programming programming I meant more hands on with the theory (neural networks, computer graphics, and OS internals are my favourite subjects).

Re: Computer Science vs Software Engineering vs Information Tech

Posted: Wed Dec 16, 2009 5:03 pm
by monkeykoder
There is another alternative to those degrees that requires a little more work but I've heard it tends to make some of the better programmers, yes I'm talking about a degree in Math. Sure it won't teach you how to code (I'm pretty sure you already know at least one language well) and you have to choose classes wisely to get all the info you want (add in the CS classes you want (say OS programming and AI if offered) and take Discreet Mathematics and Numerical Analysis) but it gives a whole structure of ideas to use in your code that could possibly be of benefit. </math major promoting his degree>

Re: Computer Science vs Software Engineering vs Information Tech

Posted: Mon Dec 21, 2009 1:32 am
by Solar
stephenj wrote:Every software engineer I've met (that likes software engineering) has displayed an open disdain for programming.
Oi! Now you've met one who thinks differently

Well, then again it says "Software Engineer" on my contract, but that wasn't what it said on my degree. ;-)

The three terms you listed, MessiahAndrw, and several others from the same field, are re-defined by just about every other university or company.

Quite often, universities don't cater for "programming" at all, and instead want to teach you how to be an architect / designer / ..., with the actual programming work done by the code monkeys, or better yet, by glueing together those Enterprise Java Beans / .NET assemblies / SAP modules and have it "just work".

On a neutral playing field, I would guess:
  • Computer Science - to mean the theoretical underpinnings: graph theory, algorithms analysis, artificial intelligence. Things that get you into R&D.
  • Software Engineering - to mean things like component architecture, distributed computing and so on. If you are lucky, they will also tell you about social dynamics, software version control and development procedures (like peer review, test-driven development etc.), but don't count on it.
  • Information Technology - to mean network technology & security, communication protocols, the like.
My recommendation:
  • Ask. Ask the faculty, ask students already studying there. Answers differ from university to university, and once you start crossing country boundaries, all bets are off.
  • If you are looking for a qualification to do hands-on work, e.g. if you want to do the edit - compile - test - edit cycle, you might better look for something with "applied" in it. The best programmers / software engineers I have met in the last ten years did not come from a university background. Those usually end up being "Senior Architects" or management...

Re: Computer Science vs Software Engineering vs Information Tech

Posted: Mon Dec 21, 2009 8:08 am
by stephenj
Solar wrote: Oi! Now you've met one who thinks differently

Well, then again it says "Software Engineer" on my contract, but that wasn't what it said on my degree. ;-)
I wouldn't consider that a software engineer, or else I'd have to consider myself one.

While poking around, I found out about the Seoul Accord, which you may find interesting.

Re: Computer Science vs Software Engineering vs Information Tech

Posted: Mon Dec 21, 2009 8:18 am
by Solar
stephenj wrote:
Solar wrote: Well, then again it says "Software Engineer" on my contract, but that wasn't what it said on my degree. ;-)
I wouldn't consider that a software engineer, or else I'd have to consider myself one.
In my eyes, our kind is the best. Doing the job not because it says so on some diploma, but because we can, and care.
While poking around, I found out about the Seoul Accord, which you may find interesting.
Not really, since I don't intend to work abroad.

Re: Computer Science vs Software Engineering vs Information Tech

Posted: Sat Jan 02, 2010 9:23 am
by -m32
I took Computer Science which included a "Software Engineering" course or two.

Comp Sci will generally give you a broader background in different programming languages, math and physics. In my case, we did SE as well, which merely focuses on the "design of a system" rather than the coding of one. We ended up programming for the SE course but it was very minimal - 90% of the course time was spent creating design documents, doing research, etc... SE was a valuable experience, but I personally wouldn't want to specialize in it.

If you like to program, you would probably be sorely disappointed with "Information Technology".

As I recall, programming languages/concepts I learned (or was exposed to) in CompSci:
  • Motorola Assembly
    C/C++
    COBOL
    FORTRAN
    Java
    Perl & TCL
    Visual Basic (sigh...) -- Not practical in the real world :)
    CSH/BASH
    OpenGL
    Compiler design & lexical analysis (awesome course)
    Software Engineering
There was more, but I can't remember -- too long ago :)

Re: Computer Science vs Software Engineering vs Information Tech

Posted: Mon Jan 04, 2010 12:49 am
by iammisc
If I've been programming for a long time know (since the second grade) and am entering university next year, would I learn more in computer science or in software engineering?

I think that because I already know how to make software, I'd learn more in the more theoretical computer science ( although I would hate to have to sit through a class re-explaining to me trees and graphs, and all that, or even worse os design).

Any advice from fellow os devers?

Re: Computer Science vs Software Engineering vs Information Tech

Posted: Mon Jan 04, 2010 3:33 am
by Combuster
As mentioned, the definition varies. Over here "software engineering" is a master program after computer science. The curriculum is not fixed, you can select your program from a wide range of courses (provided some criteria are met), so even with a bachelor program you can specialize into practical, theoretic, or related-context topics. In all cases, you should check with your university, and probably contemplate other universities.

Re: Computer Science vs Software Engineering vs Information Tech

Posted: Mon Jan 04, 2010 7:28 am
by Thomas
Hi,
In our case syllabus of IT = Syllabus of Computer Science - Electronics Topics + Web Development Related topics .But if you are really looking for a job,taking computer science is the best bet.Becasue it is much harder to get a computer science degree than an IT degree.All you want to do is study then it does not really make any difference!

Software engineering is a master's course where you specialize in industry processes and practices,its not really related to programming,its managers who go for this course :( .

Link to computer Science Syllabus : http://www.sbce.ac.in/syllabus/cs.pdf
(Its a four year course !)
--Thomas

Re: Computer Science vs Software Engineering vs Information Tech

Posted: Mon Jan 04, 2010 7:57 am
by -m32
Thomas wrote:its managers who go for this course
Well, I don't know about that.

But, don't expect Software Engineering to teach you how to program. Typically it doesn't. It is an engineering discipline. Engineers design. Often-times, the software engineers will not even write any code. They design the system and leave the programming to "lesser" (as far as they're concerned) programmers.


Just like: Engineers design bridges. They don't build them. Construction workers/companies do.

Re: Computer Science vs Software Engineering vs Information Tech

Posted: Mon Jan 04, 2010 8:00 am
by Thomas
Hi,
Sofware engineers do write code and test them.It's architects who really do not write code,But they have reached there after 10 - 15 years of development experience :D .
--Thomas