I may or may not know what I'm doing.
2020-05-26
Note: Wait But Why, want, why UW, computer engineering at UW, comparison with other programs
This is footnote for the series on the University of Waterloo’s application process.
Today’s topic will be on whether UW is a good fit for a potential applicant.
The first question: What are your wants? I am definitely not qualified to help answer this question, so I will refer you to the Wait But Why article “How to Pick a Career (That Actually Fits You)”.
The second question: Is going to university something you really want to do? University programs are very difficult and very academic. It is also not the only option for post-secondary studies. For example, there are colleges and the trades.
The third question: Is the program the right program for you? It is difficult to transfer programs once accepted. Your grades in university will have to be very high, and even then there just might not be space. Depending on how similar or different the two programs are, you might have to delay graduation by a year or more. You should do some research on the programs by visiting a university’s undergraduate calendar and faculty websites. Do not accept an offer thinking you will be able to transfer.
The fourth question: Why UW, and why not a different university? Generally, the university that you graduate from won’t matter to an employer. They are most interested in previous industry experience and your relevant side projects. UW provides a means to gain experience through the co-operative education program, but other universities also offer co-op programs or an internship year, such as the University of Toronto’s Professional Engineering Year (PEY). If you plan on going into academia, the co-op program may not high on the priority list.
Ask yourself: Why does the University of Waterloo, and specifically the program you’re accepting, matter to you?
Engineering programs at UW in general do not allow students to take very many electives. The computer engineering program in particular gives students their first elective in 3A. As the program is very prescriptive, students are forced to take unfun courses such as ECE 105 (Classical Mechanics AKA physics), as well as other courses they may not be interested in. However, because of this rigidity, students are guaranteed to be able to take those required courses.
Computer engineering is an engineering program, so if you are interested in pursuing a P. Eng. then this could allow you to do so. Also, if you find you are more interested in electrical engineering, then it is easy to switch before the start of the 2B term. Computer engineering contains many courses involving hardware (HW), low-level (sometimes embedded) programming, and signal processing and control systems (e.g. for robotics), which will be useful if you are interested in pursuing a career in the field. Again, ask yourself: Why? Why computer engineering? Why computer science? Why UW?
Computer engineering has very few programming courses. It is an engineering-focused program. Again, you should check the undergraduate calendar. I have also written my thoughts on courses in other blog posts.
Technical electives:
Thank you to various CS and SE students for giving their opinion on the UW CE vs UW CS topic.
UW Computer Science (CS) is more math- and theory- based, as it is in the faculty of mathematics. That is, the focus is more on abstract concepts and proofs (in high school you would have seen LS = RS stuff, in university it’s more “prove this statement is true/false for all positive integers”) rather than on implementation or application (here’s a spring-mass system that this math works on). See UW contest math for some examples of actual math (well, for CS it’s more the number theory, but university math is definitely not the high school stuff). In terms of deliverables, CS tends to be more open-ended and involve projects, while CE tends to be more grindy (solve a bunch of similar questions and pattern-match on the exam) and involve labs with specific expectations (with buttons and knobs and wires, oh my!).
CS offers more electives, so students are able to choose how heavy they’re willing to make their workload. This can be an advantage as a lighter term can provide some additional free time for side projects. Some students choose CS because they like the advanced versions of some courses. However, space within courses is strictly enforced, which means that there is a possibility of students not being able to enroll in the their desired course(s). This is especially true for the class of CS 2025 (225% admission).
In terms of employability, the degree does not matter for software as the employer is more focused on relevant side projects and relevant experience. In terms of hardware, an upper-year CE student will have an advantage, although CS does offer a Digital Hardware Specialization, which could be useful if a CS student is interested in hardware. However, there is limited space in the specialization, so it may be difficult to get in. Check out Alain Lou’s post on this.
Personally, when I was in grade 12, I wasn’t sure what I wanted to do, although I knew that I liked working with computers. I chose computer engineering over computer science because I didn’t think I would enjoy the math and theory too much, and since I wasn’t sure what to do, so having courses prescribed to me sounded safe. Also, I thought engineering was applicable across a large variety of fields, so getting employed would be easier. Plus, students in engineering programs get shinies.
In hindsight, UW computer engineering was one of the best choices I could have made. It may or may not be your best choice.
The important information to take away is to think about what you want to do (not your parents, not your classmates, not your friends), and whether UW is truly the right choice.
Here are some resources comparing and contrasting computer engineering, computer science, and software engineering:
Resources on UW admission:
Check out:
© 2023 Xierumeng. All rights reserved.