Back again for my penultimate year course ratings! Without further ado, here are some of my thoughts on the courses I'm wrapping up right now (will update if anything significant changes after final exams). I'm only rating my Winter courses, as I was studying abroad in the Fall - check out these posts if you're interested in those experiences. CPSC 413 - Design and Analysis of Algorithms I (Required) This course is super interesting and definitely important for computer science. You learn to think algorithmically, and it will help a lot with coding interviews in the future. There is actually barely any coding in this course because you focus on different types of algorithms, thinking on paper, and properly expressing your algorithms and why they work. Some of the questions and exams in this course are really difficult, but on the other hand, the grading is very lenient if your thinking is on the right track. I would rate this course an 8/10 , it's definitely worth put...