26 thoughts on “Software Engineering @ Waterloo – Courses

  1. Congratulations on your achievements and thanks a lot for posting about your experiences, it’s extremely informative.

    I’m in high school and have received an acceptance to SE, I was wondering if you could perhaps tell me more about your experiences.

    What languages have you went through in your courses, from the sound of it I see java, coldfire, VHDL and C++?

    How many languages were you familiar with upon entry into the program and how strongly?

    You’ve mentioned midterm and final papers, are there banks for these for SE around, like some other schools have?

    You’ve mentioned resources like khan academy, what other ones have proved useful for you in surviving university?

    Logic & computation sounded pretty nasty, the situation sounded pretty hopeless, what can you really do to make it through something like that?

    For the people in your year who failed logic & computation, did they just have to repeat it and went on their way or…?

    What’s the student support for waterloo at like academically and for co-op? Useful and helpful or no?

    • Hi there!

      So 137 was C, 138 was C++, 241 was C++ or Java or Scheme, 240 was C++ or Java, 247 was C++, 341 was C++ or Java, and 349 was 75% Java, 25% C++. As for the hardware courses, it was C and VHDL for us. To clarify, Coldfire is not a language. It’s a type of microcontroller that differs from ARM boards. You write C or C++ code to interact with these boards. So C++ and Java are pretty popular and you will use it throughout your undergrad. There are only a handful of courses that teach you other languages in the CS/SE/ECE faculties. Although you can easily pick up a language at any time, and it’s very common to pick them up during your co-op terms.

      I was only familiar with C++ to be honest. I did VB6 in 10th grade but had forgotten most of the syntax after awhile (plus it’s a pretty useless language to know nowadays). My C++ knowledge really helped me with first year CS courses.

      Yes there are exam banks that the Math and Engineering faculties maintain, which you will have access to if you are a UW student.

      TBH I just stuck with course notes and Googling and the required textbooks for each course and went to Youtube or KhanAcademy for some 10 minute tutorials if I was ever stuck on a core concept. I don’t keep a list of the more detailed resources that I’ve used in the past, but I’m sure you can easily Google things when the time comes.

      You really can’t do much when you’re in the situation of a bad prof and hard-to-decrypt textbook and basically no online resources. You quite literally just have to do as good as or better than class average, and hope for a bell curve. Ask questions during the exams for further clarifications, sometimes the profs/TAs even drop hints, and always write down something (anything), that will get you a few pity marks.

      Yes. Logic is a required for both the CS and SE degree, so whether they switched to CS or stayed in SE, they all repeated the course.

      Academically, there’s usually a good TA allocation for each course that you can take advantage of (attend their tutorials). Sometimes, the profs are more useful than the TAs, so take advantage of Office Hours. We have 3 SE advisors that are always available to help out when you need academic advice. They really care about the students and want you to succeed (it’s their job). The co-op advisors are meh. I mean, I’ve never actually experienced a horrible work environment, so I’ve never had to heavily interacted with them. If you need advice on the co-op process, talk to me or another upper year about it instead of the school because they will give you advice based on the rules and what they are told to tell every student. Asking experienced co-op students is a much better idea.

      Grats on SE, keep the questions coming!

      • Thanks for the early reply, though personally I’d feel 3AM seems like a pretty painful time to awake.

        For the people who failed logic and computation and continued in SE, are they going to graduate at a later time, or were they stuck taking a larger course load?

        • I’m actually on the west coast right now doing co-op, and I didn’t change my timezone on my WordPress settings yet :) Fixed now.

          So people who failed the course will need to ensure that they have all the graduation requirements at the end, meaning that they will either take an extra course during one of their school terms, OR what most people do in this case is take an online course during a co-op term.

          If they failed 2 other courses (3 total) OR their average was less than 60%, it means that they failed the whole term, so they get pushed back a year (i.e. if you were a 2015, you become a 2016). People can avoid graduating late by transferring to CS since CS has way less course requirements.

        • What would be your take on some essential skills/knowledge that probably must be self-learned, not in curriculum, that are related to SE, and any related resources that are useful to learning them?

  2. Pingback: Software Engineering at the University of Waterloo – Courses – things to think about

  3. Hi Aimango!
    As usual, your posts help me so much. You said somewhere that you have a post on electives as well, could you link me to it? I’ve to pick an elective for 3A and since it’s the hardest term in our program, I was looking for feedback =)

  4. Hello! :D
    I’m going into SE this Fall and I’m really confused about which textbooks to buy. Were you able to manage with just ebooks and notes taken in class or did you buy textbooks in 1A? If so, for which courses?

    • Hey there. It’s been 3 years since I was in 1A, and textbooks change at least every other year. Because of this, I don’t have an accurate depiction. But in 1A and 1B, I bought all my textbooks (either used or new, whatever was cheaper).

      In 2nd year and on, I stopped buying textbooks for the most part. I was able to manage with ebooks or borrowing from classmates. Most SE courses don’t have a strong reliability on textbooks from my experience – they are more of a nice to have rather than must-have. There are some courses that require an online access code, however, in which case you usually need to buy the textbook as there are online quizzes that count for marks that can only be accessed with the online code.

      So I recommend waiting until first week of lectures before buying books as profs will tell you how dependent they are on the textbook.

Comments are closed.