Computer Engineering or Software Engineering?

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:

  1. 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.
  2. 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.
  3. If you are really interested in the combination of programming and hardware design, maybe lean towards Comp Eng.
  4. 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.

About these ads

About profbillanderson

I'm a professor and director of admissions for Engineering at the University of Waterloo. I like to read and write about undergraduate admissions, education, and environmental research.
This entry was posted in Application Insights, Engineering Education and tagged , , . Bookmark the permalink.

17 Responses to Computer Engineering or Software Engineering?

  1. Peter says:

    Is it possible to switch between the programs if you find yourself lacking interest? How does the transfer process work in determining if a student is eligible for a transfer?

    For example, would it be more difficult to transfer from Comp Eng to Mechatronics than the reverse?

    • We try our best to help with program switches, but it gets complicated. First, there has to be available space. Then, there are differences in courses that might be a problem. Next, the co-op streaming can be a problem if the two programs are different streams. So, we can often allow switches but there may be a “cost”, such as having to take extra make-up courses, or sometimes even losing an entire year. There are too many combinations and permutations of switches to give more details, but we look at each request on a case-by-case basis. Specifically for switching to Mechatronics, it is often not possible because the program is usually quite full. In that case, we usually recommend that students stay in their program and do the Mechatronics Option (like a minor), which gets them much of the same academic material anyways.

  2. Andy Kwok says:

    Hello, I have a specific situation.
    I am planning to apply to Software Engineering as my first choice via OUAC. On my AIF I will list Computer Engineering as my second choice. Since Software Engineering is such a highly competitive program, I am afraid that I may not be accepted into the program. Will my chances of getting into the Computer Engineering program be hindered since it is list as a second choice? Or will my application being entered into the same pool with applicants who list Computer Engineering as their first choice, giving me an equal chance?

    Thanks.

    • No, there is no disadvantage to listing something as a second or third choice. So, if you don’t get into Software Engineering you’ll have the same opportunity as everyone else for your second choice Comp Eng. We do admissions into the most competitive programs first, then everyone who didn’t get admitted into one of those is added to the pool for the other programs. It’s sort of an iterative process, so everyone gets a fair chance for the choices they list. The one thing we assume however, is that the 1st, 2nd, and 3rd choices represent your actual preferences. So if possible, we try to give you your 1st choice, then 2nd, then 3rd only if the first two weren’t possible.

  3. Peter says:

    This is more of a general question and I’m a bit curious to know the answer.

    In general, is there a difference in averages between non-semestered and semestered schools?
    And also how well do students from these different school types transition into university?

    • That’s a good question. We’ve looked at that in the past, and found no significant differences in average or performance in our programs. The majority of students come from semestered schools however, so making comparisons is a bit difficult.

  4. Peter says:

    I’ve heard that a score of 80+ on the Euclid is required for a student to be qualified to take the advanced CS and math courses. It seems that this year, due to bill 115, that there will not be a chance for students to participate in Euclid or any other contest. Can you explain further the requirements?

    • Peter says:

      Also, are advanced courses avail for SE students?

      • No, I don’t believe so. Like all engineering programs, the SE course selection is pretty much fixed for at least the first couple of years.

      • Peter, there are two answers to your question. First, the MATH 14x courses, which carry (Advanced) in their name. If you meet the prerequisites for those courses, and are a Software Engineering student you can take them. It’s rare, but I can see that one student currently in our system has taken MATH 145, for instance. The prerequisite isn’t necessarily an 80+ Euclid score; it amounts to “permission of instructor”. We also support Joint Honours with math programmes in SE.

        CS 145 does require an 80+ Euclid score or an Honourable Mention on the Canadian Computing Competition. CS 145 is the advanced version of CS 135. But Software Engineers take CS 137 instead. So that’s not applicable here.

        I’m sure that there will be something in place next year to figure out who CS145 is best for, if the contests don’t take place.

      • Thanks Prof. Lam, for clarifying this.

    • No, I don’t know. That is a Computer Science (Faculty of Mathematics) issue, and not engineering.

  5. Thanks for the detailed exploration of these topics. I answer this question all the time as Associate Director of Software Engineering and as a professor of Electrical and Computer Engineering, where I regularly teach first-year Computer and Electrical students. Here is my perspective.

    It is indeed true that you won’t be admitted to Software without programming experience. But the learning curve in Computer Engineering is steep as well: I give significant programming assignments in my course in second term. It may be the case that Computer Science has a better introductory sequence for those who don’t know how to program. In any case, you should expect to need to learn how to program very quickly in any of these programmes.

    While the programmes are different, the pool of co-op jobs for Computer Engineering, Software Engineering, and Computer Science are quite similar. I know that Software Engineering has an excellent co-op placement rate; it’s about 1 student short of 100%.

    If you’re considering Computer and Software Engineering, it is important to consider Computer Science as well. One way to think about Software Engineering is as a Computer Science programme which carries engineering accreditation. The cost is flexibility. You will also get to know your cohort better in Software Engineering versus Computer Science.

    A key difference between Software Engineering and Computer Engineering is that you will learn more about designing hardware in Computer Engineering. There is still some hardware content in Software, but not as much.

  6. Justin says:

    Hello, I am a grade 12 student applying to Software Engineering via OUAC. I have a specific question regarding the academic requirement and the AIF. My grade 11 marks dropped a significant amount due to my personal issues midway through the grade 11 school year. As the result, my grade 11 marks eventually end up nowhere close to my normal academic performance. Does this have an affect on my admission for this year because my average this year applying to university has a huge difference compare to my grade 11 average? If so, is it mandatory to describe the situation in the “Circumstances” section in the AIF?

    • No effect in the long term. With low grade 11 marks you might not get an early offer in March (see How to get an early offer). But when we finish making offers in May it will be based entirely on Grade 12 marks. On the AIF, it would be a good idea to at least mention you had personal problems in grade 11, but there’s no need to go into details if you’re not comfortable doing so. If nothing is mentioned, we start wondering what’s going on and it raises some uncertainty in our minds.

  7. Pingback: The difference between software engineering and computer science | Coldstreams.com

Questions/Comments?

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s