Software engineering vs. Computer Engineering/Science


Recommended Posts

I'm going into Grade 12 this year, and I've really started to think about what I'm doing after I've graduated. For a few years, I've been more or less settled on something in computers, but there are 3 majors (at least in Canada) that I want to understand: Software Engineering, Computer Engineering, and Computer Sciences.

The local university here offers Computer Sciences and Computer Engineering, but not Software Engineering, and software is what I'm most interested in. So I guess my question is, will I get a similar experience in Computer Engineering or Sciences?

I have been looking into the University of Waterloo, which does offer software engineering. The problem is cost. I would need some kind of scholarship to be able to pay $20,000 a year (which includes tuition, housing, food, books and supplies), or would need to pick up a job during school this year. My parents do not support me going away to university, but the stress that comes from living at home is enough to make me want to get away.

I know that Waterloo is a very good university, and that Memorial University of Newfoundland is an OK-ish university that isn't really well known for its computer programs. And it still comes down to one thing: software is what I am interested in, and Software Engineering *sounds* like what I want. So, can anyone lay down the difference and maybe help me make some kind of decision?

I will meet the course requirements for Waterloo, as well, and maintain an 85% average (not great, but not terrible).

Link to comment
Share on other sites

As a neowin developer I'm really surprised you need to ask that.

Simple answer is no you won't get much experience with software engineering with the two computer courses. They may go into it a little bit but not much.

You'll need to do the software engineering course for the experience and knowledge you want.

Try looking into an online course if available there.

Link to comment
Share on other sites

well its pretty simple really. Computer Engineering is mostly about hardware with a small amount of programming (like programming embedded chips). Computer Science is the software side that you are looking for. Software engineering can be thought of applied Computer science. Usually the main difference between a software engineering major and a computer science major is that a computer science major contains more theory courses. So bottom line if you want to work on building applications for corporations then either a computer science degree or software engineering degree should get you there.

Link to comment
Share on other sites

This may help, although, as you know, I am not from Canada and it may be different in Canada -

I know somebody who did computer science and they applied for a programming placement year. As soon as they got on that placement year, they realised they didn't know half as much as they needed to. I got a programming placement, after doing a software engineering course and my knowledge was up to scratch, just about ;) So that might be something you need to look into.

I've heard that computer science is more theory-based and I think there is more mathematics in it. We had a bit of maths in our first year, but not much and nothing too challenging (although it was still damn hard :p). The software engineering course I took had a bit of theory in, but not as much; it's mainly just focused on programming... solid developing. The languages and technologies they teach on the software engineering course I took include VB.NET, C++, Java, XHTML, CSS, PHP, ASP.NET, JavaScript, SQL, MySQL and some AJAX. They teach everyone all of those throughout the 4 years and everyone was given the choice of taking a module on scripting languages (mainly Python), linux and unix development, games development, HCI or some eco-business-IT-thingy.

From experience, you learn a hell of a lot about software development on a software engineering course (at least where I am from) and they also teach a module on the concepts and methods used - all theory and different diagrams.

However, please bear in mind that it could be very different in Canada, where you are based. Maybe ring up the course administrators and ask her any questions you have about the content of the courses? Possibly bring up any things that people in this thread have said they learnt on each course :)

Link to comment
Share on other sites

As a neowin developer I'm really surprised you need to ask that.

Well, coding for Neowin came out of my programming as a hobby, which turned into me helping Neowin out on a few little programming things, and then me turning into a full developer. No real knowledge of the world of software, just knowing how to program, and until now it's stayed basically the same.

That does seem to be true, I did notice their website mentioned co-ops. I'm definitely going to need to look into that.

I still don't have a full grasp on how University itself works, that's a big part of what I'll learn in school in September, then I guess I start picking potential places to go. If I can pay my way through Waterloo on a co-op program, or at least mostly get through, that will be great.

Thanks for clearing up the differences. At least now I know that I can cross computer engineering off my list, and keep computer sciences on as a possible alternative if I'm stuck around here.

EDIT: Calum, saw your post after I submitted this one ;) That's some useful information too, thanks! I've got a lot of things to keep in mind, I guess. There can't be much of a difference between the Canadian and American courses, since we share a border and a lot of people simply move between the two countries for a job.

Link to comment
Share on other sites

EDIT: Calum, saw your post after I submitted this one ;) That's some useful information too, thanks! I've got a lot of things to keep in mind, I guess. There can't be much of a difference between the Canadian and American courses, since we share a border and a lot of people simply move between the two countries for a job.

I'm sure American and Canadian courses wouldn't differ that much, but you should know I'm not from America either :p Check my Facebook profile ;) :D

I'm glad it was useful to some extent :) It's just best to make sure you keep those points in mind when researching the content your university offers with each of those two courses :)

Link to comment
Share on other sites

*facepalm* could've sworn you were :p

Still, since it is very much an international thing... can't be much different. Especially in an industry that relies so heavily on the Internet. It's not like law, where laws change from country to country.

Link to comment
Share on other sites

I'm going into Grade 12 this year, and I've really started to think about what I'm doing after I've graduated. For a few years, I've been more or less settled on something in computers, but there are 3 majors (at least in Canada) that I want to understand: Software Engineering, Computer Engineering, and Computer Sciences.

The local university here offers Computer Sciences and Computer Engineering, but not Software Engineering, and software is what I'm most interested in. So I guess my question is, will I get a similar experience in Computer Engineering or Sciences?

I have been looking into the University of Waterloo, which does offer software engineering. The problem is cost. I would need some kind of scholarship to be able to pay $20,000 a year (which includes tuition, housing, food, books and supplies), or would need to pick up a job during school this year. My parents do not support me going away to university, but the stress that comes from living at home is enough to make me want to get away.

I know that Waterloo is a very good university, and that Memorial University of Newfoundland is an OK-ish university that isn't really well known for its computer programs. And it still comes down to one thing: software is what I am interested in, and Software Engineering *sounds* like what I want. So, can anyone lay down the difference and maybe help me make some kind of decision?

I will meet the course requirements for Waterloo, as well, and maintain an 85% average (not great, but not terrible).

First of all, I'm a UW grad ('08 CS) and I have friends (and have worked with people) from each of the three programs. I highly recommend going there since you'll have a very good chance of getting a good job post graduation. I know people at Amazon, MS, nVidia, Google, etc. The cost isn't an issue after the first year since co-op helps massively. After first year, I paid 100% of the cost of my education, and saved some, and bought a nice laptop (amongst other crap), without working while studying.

Now, as for the three programs, they're somewhat different, but overlap a lot. Computer Science (what I graduated from) places a lot of emphasis on theory. A fair bit of math (calculus, linear algebra, stats, etc) is involved. Software Engineering (SE) trades some of the math and theory for good engineering practices. Think design, project management, and ethics (pfft). Computer Engineering (CE) is like SE, but places more emphasis on hardware. However, there is a lot of software in CE, but you'll approach it from a hardware perspective. Think assembly, C/C++, verilog. Now, as from post-grad jobs, the major tech companies will hire people from any of the three. I've found Google hires more engineering students than CSers, but it varies from company to company.

The choice boils down to:

- Do you like software + math, theory: Computer Science (what I did)

- Do you like hardware: Computer Engineering (what I should have done)

- Do you like software + desire to manage/do rigorous design: Software Engineering

Feel free to PM me if you have any specific questions about UW or the co-op program (which is a requirement in engineering at UW).

Link to comment
Share on other sites

  • 1 year later...

Make sure that "software engineering" is what you want written on your diploma. I guess it doesn't matter for you if what MrA said is true, but at Simon Fraser University here you basically do all the courses you would for CS (including high level math courses) plus extra courses for software development methods/UI design/etc. However, when you apply for a job, people will think you did less math/theory work than a CS grad did. This because some universities don't require you to complete all the high level math/theory courses when you go for that program. I actually did finish Software Engineering, but never applied for the specialization so that they wouldn't write it on my diploma.

Link to comment
Share on other sites

Make sure that "software engineering" is what you want written on your diploma. I guess it doesn't matter for you if what MrA said is true, but at Simon Fraser University here you basically do all the courses you would for CS (including high level math courses) plus extra courses for software development methods/UI design/etc. However, when you apply for a job, people will think you did less math/theory work than a CS grad did. This because some universities don't require you to complete all the high level math/theory courses when you go for that program. I actually did finish Software Engineering, but never applied for the specialization so that they wouldn't write it on my diploma.

Why'd you revive this thread?

Anyway, it's pretty typical that software engineers will make a higher salary, and are more likely to transfer into management due to the background.

Link to comment
Share on other sites

At my school computer science teaches software engineering, usually you get to choose a lot of your upper level courses so you can focus on the courses you think you need.

Link to comment
Share on other sites

Why'd you revive this thread?

Anyway, it's pretty typical that software engineers will make a higher salary, and are more likely to transfer into management due to the background.

Because somebody replied before me and their post was deleted blink.gif

It was on the front page...

Anyways, that's not the case here...people will think you have less education and it will limit you to a certain part of the IT market only.

Link to comment
Share on other sites

Why'd you revive this thread?

Anyway, it's pretty typical that software engineers will make a higher salary, and are more likely to transfer into management due to the background.

Advices like his are always welcome.

Link to comment
Share on other sites

  • 1 month later...

First of all, I'm a UW grad ('08 CS) and I have friends (and have worked with people) from each of the three programs. I highly recommend going there since you'll have a very good chance of getting a good job post graduation. I know people at Amazon, MS, nVidia, Google, etc. The cost isn't an issue after the first year since co-op helps massively. After first year, I paid 100% of the cost of my education, and saved some, and bought a nice laptop (amongst other crap), without working while studying.

Now, as for the three programs, they're somewhat different, but overlap a lot. Computer Science (what I graduated from) places a lot of emphasis on theory. A fair bit of math (calculus, linear algebra, stats, etc) is involved. Software Engineering (SE) trades some of the math and theory for good engineering practices. Think design, project management, and ethics (pfft). Computer Engineering (CE) is like SE, but places more emphasis on hardware. However, there is a lot of software in CE, but you'll approach it from a hardware perspective. Think assembly, C/C++, verilog. Now, as from post-grad jobs, the major tech companies will hire people from any of the three. I've found Google hires more engineering students than CSers, but it varies from company to company.

The choice boils down to:

- Do you like software + math, theory: Computer Science (what I did)

- Do you like hardware: Computer Engineering (what I should have done)

- Do you like software + desire to manage/do rigorous design: Software Engineering

Feel free to PM me if you have any specific questions about UW or the co-op program (which is a requirement in engineering at UW).

Hey . i really want to know the difference between comp eng and software eng .

Which course are less to maths .

Which course are offered by better salary in today's rat race world .

Let me know the total difference between this two cause i'm currently struggling choosing between this 2 courses .

Really giving me headache . Help me out guys .

Do

Link to comment
Share on other sites

First of all, I'm a UW grad ('08 CS) and I have friends (and have worked with people) from each of the three programs. I highly recommend going there since you'll have a very good chance of getting a good job post graduation. I know people at Amazon, MS, nVidia, Google, etc. The cost isn't an issue after the first year since co-op helps massively. After first year, I paid 100% of the cost of my education, and saved some, and bought a nice laptop (amongst other crap), without working while studying.

Now, as for the three programs, they're somewhat different, but overlap a lot. Computer Science (what I graduated from) places a lot of emphasis on theory. A fair bit of math (calculus, linear algebra, stats, etc) is involved. Software Engineering (SE) trades some of the math and theory for good engineering practices. Think design, project management, and ethics (pfft). Computer Engineering (CE) is like SE, but places more emphasis on hardware. However, there is a lot of software in CE, but you'll approach it from a hardware perspective. Think assembly, C/C++, verilog. Now, as from post-grad jobs, the major tech companies will hire people from any of the three. I've found Google hires more engineering students than CSers, but it varies from company to company.

The choice boils down to:

- Do you like software + math, theory: Computer Science (what I did)

- Do you like hardware: Computer Engineering (what I should have done)

- Do you like software + desire to manage/do rigorous design: Software Engineering

Feel free to PM me if you have any specific questions about UW or the co-op program (which is a requirement in engineering at UW).

Hey . i really want to know the difference between comp eng and software eng .

Which course are less to maths .

Which course are offered by better salary in today's rat race world .

Let me know the total difference between this two cause i'm currently struggling choosing between this 2 courses .

Really giving me headache . Help me out guys .

Do

Link to comment
Share on other sites

?

While the topic is at hand, what is the difference between these three?

computer engineering is hardware and the other two are software.

edit:// computer engineers can earn up to 70k with a BS

Link to comment
Share on other sites

You'll want a current software engineering course - always. For my BS in Computer Science, software engineering was just another 'concentration' under the major, and I as a smartguy decided to take the 'fun' path and study game graphics programming. Not only is game programming an extremely difficult field to break in to, you throw everything you've previously learned about software design and spend every moment of your coding time seeking the fastest possible way to accomplish a given task regardless of whether it's 'sexy' or up to standard practices. Besides that, it was a lot of low-level instructions shared between C and in-line x86 ASM so had absolutely no practical use in the real world software engineering/design jobs as I was about to find out.

The software engineering concentration in my university studied software design principles incorporating things like Oracle and general DB design/implementation at the application level, software design patterns (GoF etc), and enterprise-level architecture through J2EE IIRC.

When I entered the workforce armed with my game programming tricks, I had my arse handed to me by the guys that had studied the latter above :)

Link to comment
Share on other sites

I'd suggest you take the Computer science route as you already know how to program "in the real world". It will improve your skills and decisions when it comes to coding. There should be a software engineering course or 2 in there which teaches you models used applied in real world.

Link to comment
Share on other sites

Computer Science (what I graduated from) places a lot of emphasis on theory. A fair bit of math (calculus, linear algebra, stats, etc) is involved. Software Engineering (SE) trades some of the math and theory for good engineering practices. Think design, project management, and ethics (pfft).

Perhaps its different over here in the UK then.

While my CS course does coover a lot of theory (maths etc), it has also covered design, project management, ethics and software development in general.

The software engineering concentration in my university studied software design principles incorporating things like Oracle and general DB design/implementation at the application level, software design patterns (GoF etc), and enterprise-level architecture through J2EE IIRC.

Again, I've covered pretty much all of that in my CS course.

I think you have to just look at the specifics per university / college. Some will have courses that are named slightly differently but cover the same thing, and some will have courses named the same but that cover different things. So just have a look around on the internet to see.

Link to comment
Share on other sites

This might actually be a valuable resource for anybody wondering about CE vs. SE.

Here's the academic catalog at the university I attend: http://www.msoe.edu/academics/course_catalog/undergrad2010-11.pdf

Computer Engineering starts on page 116

Software Engineering starts on page 140.

Just as a side note, my university runs on a trimester system which is really rare, so most people wouldn't take this many classes. It does give a good description for what each major entails. And course descriptions are towards the end of the .pdf

I did two years of the CE program and then switched to EE since I didn' t much care for the magnitude of programming.

Hopefully this helps. :)

Link to comment
Share on other sites

computer engineering is hardware and the other two are software.

edit:// computer engineers can earn up to 70k with a BS

Well the money aside, Ive always wanted to be focused on hardware so I guess computer engineering is my sort of thing. Thanks :)

Link to comment
Share on other sites

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.