Another common question we get from prospective applicants deals with the differences between computer and software engineering (and computer science too). Since it’s not my area of expertise, I generally try to get one of my colleagues to discuss this in more detail with applicants. They have also put together a webpage with some helpful information that compares and contrasts these 3 programs. This is a good starting point, but there are several other things to consider. I’m going to focus on comparing just the two engineering programs.
Sometimes, when trying to choose between programs it can be useful to look at the courses from the university course calendar to see what catches your interest. Computer Engineering is here, and Software Engineering is here. (Reading university calendars takes some practice, so don’t get too worried about the details.) Looking through the courses, there are some similarities and some differences. As expected, Comp Eng tends to have more physics-based courses and a focus on hardware/electronics, signals, and networks, but there are still opportunities to take programming. In fact, Comp Eng students can do a Software Engineering Option (minor) which gets them into similar programming concepts. Add to this the ability to do co-op work term jobs in programming, and you end up with a large grey area where graduates from the two different programs may have similar career paths. The Software curriculum has more emphasis on computer science fundamentals and large software systems, but there are opportunities to take hardware courses too. So again, lots of potential overlap.
I guess all this information may not really help much with deciding between the two programs, so here’s an algorithm you might use:
- If you have no significant experience in using structured programming languages, apply to Computer Engineering. Software Engineering applicants are required to demonstrate this experience, either through course(s) or significant other activities. All of our other engineering programs (including Comp Eng) assume that you have no programming experience.
- If you have programming experience, and have little interest in hardware or electronics, go for the Software Engineering program. Note however, that this is one of our more competitive programs for admission, so consider putting Computer Engineering as a second choice on your Admission Information Form so you have the alternative route as a backup plan.
- If you are really interested in the combination of programming and hardware design, maybe lean towards Comp Eng.
- If you’re leaning towards the software side, consider also applying to Computer Science in the Faculty of Mathematics. This is a separate and independent application, and potentially gives you another offer to work with. Although you can only apply to one Engineering program, you can always apply to another program like Computer Science too.
- If you’ve looked at all the pros and cons and still can’t really decide, that’s actually not a bad sign. It probably means you have wide-ranging interests and abilities, and will likely do well with either choice. Some applicants will go with Comp Eng, because it has a bit more flexibility for shifting directions during the program, but this really just comes down to personal preference. There is probably no wrong choice for you between these two.
Finally, it’s good to recognize that all engineering programs use computing and programming to some extent. There are graduates from every program that go on to careers involving specialized software development for niche applications. So, if you think you like programming but are also interested in Mechanical or Management Engineering (for example), those are not mutually exclusive interests. It’s just a matter of pursuing the opportunities that arise during your education and co-op jobs.