Courses, of Course


University of Waterloo

Subscribe with RSS

It's that time of year again: time to select our courses for the upcoming term. More importantly, it's time to figure out what courses we'll want to take at any point in any future terms, since that will heavily impact which courses we should take this upcoming term.

The upcoming term includes SE 463 and ECE 358, "Software Requirements" and "Computer Networks" respectively, as well as ongoing work on the fourth-year design project. On top of that, we're allowed to take two additional courses, with a bunch of caveats related to making sure we get the right credits in order to graduate.

Currently, I'm leaning towards the following additional courses: ECE 457A and CS 485. The former is "Cooperative and Adaptive Algorithms" which I've heard is an absolutely fantastic course that I should be incredibly excited for. As such, I'm suitably excited to take it.

The latter is "Introduction to Machine Learning". Now, I've already done a bunch of ML work both on my own and during internships... but it's all been just something I played with without really understanding., Hopefully, this course can help fill in the gaps in my knowledge. Here's hoping it isn't too brutal of a course.

I've sorted out a few of the courses I'm planning on taking the term after next as well, though I'm not quite sure about these. CS 444 "Compilers" looks like it could be interesting (though it's one of the most difficult ATEs, which could be terrifying...) and I've heard CS 458 "Security" is definitely interesting. Other than that, I'm not so sure... I'm required to take an impact elective, which I'll fill with STV 205 "Cybernetics and Society", but other than that I've a few slots to fill.

Technically, I only need either CS 444 or CS 458, but not both. That said... what's the point in taking easier but less interesting courses? That in mind, I'll likely end up taking another ATE (or two?) in that final term. We'll see.

To help me understand course dependencies, I maintain a "Software Engineering Course Chart". Some people have found it useful, so I've attached it below.


As always, this article is available on GitHub. Comments (ie. issues) are welcome!