University of Waterloo – Software Engineering vs. Computer Science – Q&A

I’ve moved this post here for easier management.


53 thoughts on “University of Waterloo – Software Engineering vs. Computer Science – Q&A

  1. Pingback: Prospective University of Waterloo Applicants – Q&A | there, then, and now.

  2. Hey thanks for the info! In terms of programming experience for SE, how much experience are we talking here :)? If you could maybe explain the pace or initial assignments/programming you did that would be great thanks!

    • Hey,

      Simple algorithms ike GCD, Sieve, Horner’s, Bisection; sorting algorithms; basic C memory allocation; & recursion are the more interesting topics you will deal with in 1A.

      An example assignment question is to give all of the divisors of a number in this format: “48 = 2*2*2*2*3”. Usually there are some tricks in each assignment but for the most part, the assignments you do in 1A aren’t that challenging. Our final exam was a series of short coding questions, which most people found to be pretty fun.

      If you know how to program a Add-Subtract-Multiply-Divide Calculator in any language, then you should be fine for 1A CS. They just want everyone on the same page, and to understand C concepts.

      Good luck with admissions!

  3. great thanks! don’t want to be a bother but considering i don’t have to much programming experience as of yet and still a good chunk of time before fall 2012 if I were to focus on some languages, say the C’s and Java? I’ll be learning java in comp sci this semester but you mentioned C and C++ will be used in first year SE, would like to get well acquainted with them if they’ll be the focus, thanks again!

    • I recommend skipping C and looking into C++, the reason being – C and C++ have very similar syntax, it’s just that C is much more low level, and IMO it’s more worth you’re time to look at C++.

  4. Feels nice to read this article, you answered all the questions I had in mind. I am currently in CE 1B term and switching to SE, and all these questions were in my mind. My advisor told me that I could switch easily, so I’ll be joining the SE class soon. Once again, thanks a ton!

    • Hey, I’m glad I was able to help! Yes, the switch from CE to SE (as long as its done earlier in your studies) is pretty easy. All the best!

  5. Very informative, thanks! Do you know if the advanced and upper year math courses (MATH 145, 147, CO) are useful for future work as a software engineer? It seems that SE has a lot less math courses. I enjoy math and do well on math contests, so I am not sure whether to go for CS or SE. I do like SE’s focus on the task compared to CS though.

    Thank you once again for clarifying lots of things for me!

    • It is still possible to take 145 or 147 if you are in SE, but it’s likely that they won’t fit in your schedule. In terms of usefulness, they are useless in the real world. Whether you learn Calc 3 or Advanced Calc 3 won’t matter and should not matter for your career. They may only help you academically, or perhaps if you wish to become a TA/prof (but even then, it’s silly to choose a student based on whether or not they were able to take 145 vs 135). 145 and other advanced classes are more for those who really enjoy the contests, working with puzzles, those who learn quicker than the average math/cs student, and probably already know a bulk of the material covered in the normal 135/137 courses.

      SE and CS students actually pretty much take the same Math courses. I had to check, but there really isn’t much of a difference. For every math course a cs student takes, theres an SE equivalent. The only visible difference is that SE students only take 1 stat course (Stat 206) compared to CS who take 2 (Math 230, Math 231). Of course, you would have the flexibility as a CS student to do a minor in Math if you so desired. You can check the course sequencing here for CS majors (select BCS under ’12/’13): and here for SoftEng:

Comments are closed.