I graduated from the University of Waterloo in 2021 with a Bachelor of Computer Science. These are some courses I found worthwhile. Note that I took them between 2016-2021, so check the UWFlow links for anything that may have changed.
Coursework
CS444 - Compiler Construction
Implemented a substantial subset of Java in C++ with a recursive descent parser.
CS488 - Introduction to Computer Graphics
Assignments use OpenGL, culminating in a ray tracer (A4). The final project (A5) is an open-ended extension to your ray tracer and is what most students look forward to.

CS454 - Distributed Systems
A solid introduction to distributed systems topics. The assignment is a single project broken into parts: implementing a basic distributed file system in C.
CS343 - Concurrent and Parallel Programming
A course about concurrency strategies (mutexes, semaphores, etc). In my term we used a version of C++ with added concurrency features, made by the teaching staff. I'd highly recommend this course for utility for industry applications, or if you liked the traffic problem from operating systems (CS350).
CS349 - User Interfaces
Covers UI/UX design principles with a heavier assignment load than expected. The first few are substantial Java GUI projects (Paint, a puppet manipulator, a text editor), with the last couple being Android projects.
Other
Some other CS courses worth knowing about if you're planning your schedule.
- CS370 - Numerical Computation
- CS456 - Computer Networks
- CS458 - Security
- CS486 - Intro to Artificial Intelligence