The last year of uni is definitely the "oh shit!" time when you look at your academic requirements and realize you need to take five 500-level CPSC courses, three 300+ level options (the only one that fits your schedule is Analysis of Slavic Music ), and two of the most grueling courses you've ever taken because they're prerequisites for CPSC 5XX: Course you wanted to take since first year . OK, maybe it's not that bad. To this day, I've never had a computer science class in the ICT building CPSC 441 - Computer Networks This course had a great balance between theory and practicality, because while we were given (and tested on) many equations and theoretical considerations related to packet delays, protocols, checksums, etc., it was made clear what each one was useful for. I also felt that the mix of assessment types helped with learning. We had written assignments and in-class activities, many of which required looking back on prior course content and combinin...