Jump to content



Photo

Software engineering vs. Computer Engineering/Science


  • Please log in to reply
27 replies to this topic

#1 vetSimon

Simon

    Neowinian Senior

  • 8,437 posts
  • Joined: 05-July 05
  • Location: Calgary, AB, Canada
  • OS: OS X

Posted 03 August 2009 - 17:18

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).


#2 lee31

lee31

    Neowinian

  • 1,461 posts
  • Joined: 14-January 09
  • Location: Leicester, UK

Posted 03 August 2009 - 17:26

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.

#3 smurphy999999999

smurphy999999999

    Neowinian

  • 187 posts
  • Joined: 27-April 07

Posted 03 August 2009 - 17:31

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.

#4 Rob2687

Rob2687

    ?

  • 13,333 posts
  • Joined: 27-April 03
  • Location: Ontario, Canada

Posted 03 August 2009 - 17:35

Doesn't Waterloo do co-op for those programs? I've heard that people make a good amount of money during their co-op terms at Waterloo.

#5 vetCalum

Calum

    Neowinian Senior

  • 13,211 posts
  • Joined: 10-January 07

Posted 03 August 2009 - 17:44

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 :)

#6 OP vetSimon

Simon

    Neowinian Senior

  • 8,437 posts
  • Joined: 05-July 05
  • Location: Calgary, AB, Canada
  • OS: OS X

Posted 03 August 2009 - 17:46

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.

#7 vetCalum

Calum

    Neowinian Senior

  • 13,211 posts
  • Joined: 10-January 07

Posted 03 August 2009 - 17:56

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 :)

#8 OP vetSimon

Simon

    Neowinian Senior

  • 8,437 posts
  • Joined: 05-July 05
  • Location: Calgary, AB, Canada
  • OS: OS X

Posted 03 August 2009 - 18:07

*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.

#9 MrA

MrA

    b47d2b5288e3c77

  • 2,694 posts
  • Joined: 09-November 03
  • Location: Oz.

Posted 04 August 2009 - 09:16

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).

#10 zivan56

zivan56

    Neowinian Senior

  • 4,388 posts
  • Joined: 18-September 01
  • Location: Vancouver, BC

Posted 29 October 2010 - 02:13

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.

#11 Astra.Xtreme

Astra.Xtreme

    Electrical Engineer

  • 8,128 posts
  • Joined: 02-January 04
  • Location: Milwaukee, WI

Posted 29 October 2010 - 02:21

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.

#12 carson2255

carson2255

    Neowinian

  • 275 posts
  • Joined: 20-March 05

Posted 29 October 2010 - 02:25

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.

#13 zivan56

zivan56

    Neowinian Senior

  • 4,388 posts
  • Joined: 18-September 01
  • Location: Vancouver, BC

Posted 29 October 2010 - 08:24

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 Posted Image
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.

#14 vetLaura

Laura

    Fwoomp

  • 13,301 posts
  • Joined: 30-October 04
  • Location: UK
  • OS: OS X, Win 7

Posted 29 October 2010 - 14:16

Ah, the deleted post was a spammer.

#15 BoredBozirini

BoredBozirini

    Bozrini Tringuini

  • 3,804 posts
  • Joined: 28-July 09
  • Location: Bozrini's Villa

Posted 29 October 2010 - 17:15

Software engineering is a subfield of Computer Science, so there you go.