3A CS Course Review/Retrospective

I guess I'll be continuing to write term reviews. Now that all the marks for Winter 2024 are out, here are some of my thoughts on the courses I took in 3A.

  • CS 240 - Data Structures & Data Management: The first half of this course dealt with concepts like runtime analysis (asymptotic analysis, average/expected runtime), while the second half covered various data structures and algorithms such as skip lists, tries, and string matching/compression. Overall, I think this course was ok. The main means of assesment aside from exams were assignments and programming assignments. I generally found the assignments weren't terribly difficult, as many of the solutions became clear after putting in some amount of thought. I really didn't appreciate how some of the assignments were marked, as some of the marks taken often felt arbitrary. While the programming, though completing a progamming and written assignment at the same time did get stressful at times. The exams were hoenstly pretty reasonable, but the class average was still in the 60-70s. I found the tutorials relatively useful, though I think my experience with this area varied since I switched sections halfway through the game. I also went to quite a few hours, which were especially useful for understanding some of the more complex topics.
  • CS 348 - Intro to Database Management: I wasn't a big fan of this course. A lot of the content taught felt fairly impractical for the typical database work you would expect in a dev role. For example, a big section of this course was dedicated to disccusing concurrency within a database, which would be mostly useless unless you are directly working on implementing a database. As well, several concepts were poorly explained and/or inconsistent. Cost estimation was probably the worst of this issue, as the answers given for assignments was completely different than the ones I came up with, but I still received full marks for my work. This made explaining work significantly more difficult. The structure of assesents didn't help with understanding the content, as since they were so short and spread over 2 weeks, I would often just forget that the course existed for 2 weeks and finish the assignment a day before the due date. They also decided to make the final exam ridiculously difficult for some reason, including questions that were effectively impossible to study via the given slides and textbook. I'm honestly just glad this course is over.
  • Math 239 - Intro to Combinatorics: I enjoyed this course quite a lot! The first half of the course focused on enumeration, which covered some interesting ways to count particular objects. I think the most interesting part of this course was learning about the concept of a weight function combined with a generating series. Understanding the content for enumeration mainly just came down to understanding what a weight function actually was and doing a ton of practice. The second half of the course covering graph theory wasn't too bad either, as it was relatively straightforward most of the time. The assignments often required a fair amount of time and often demanded a lot more critical thinking compared to the assignments I did in Engineering. They were also annoying in how they were only worth 15 marks each, so even small mistakes would take a good amount off your mark. The assesments were generally a lot more straightforward compared to the assignments, though I'm thankful for the scaling nonetheless (it somehow boosted my mark to something physically impossible, as my assignment score wasn't high enough). I found the tutorials quite helpful for understanding the content, as since our sections were pretty empty, there was a lot of time for the TA to explain the tutorial questions in depth and clarify the course concepts.
  • STAT 231 - Statistics: Pretty "meh" course overall. Most of the content was pretty straightforward, as it was just basic calculus, application/derivation of formulas, and interpreting graphs. The lectures were pretty dry, but our prof explained things relatively well for the most part. The assesments for this course came in the form of occasional quizzes, which just reused some questions for the textbook. As a result, they were all extremely straightforward. In terms of exams, the two midterms were extremely easy, but the final was significantly more challenging than anything else in the course. In fact, there was a discord chat created for complaining to the VPA of MathSoc about the difficulty of the exam. Overall, this course wasn't particularly memorable and I will not be thinking about it again anytime soon.
  • ENGL 119 - Communications in Mathematics and Computer Science: This course was a mixed bag for me. On one hand, it was really interesting to see all the applications of commmunication in technical fields. As well, the in-class activities were pretty fun. Our prof was also really good. On the other hand, I hated the assignments in this course with a burning passion. One of these assignments involved creating a research report for an arbitrary topic in Math/CS. I don't even know why this was an assesment, as I feel that research reports are rather rare in the technical field unless you are specifically aiming to do research. Even in this case, the project was framed as a recommendation report, so completing this project probably wouldn't even be helpful in that case. Not only did you need to write a 1500+ word document for the research report (I got PTSD flashbacks to my IAs and my EE in IB :/), prior to the report, an additional "pitch proposal" and "progress report presentation" were required for the project, which took up several weeks in the term. Another gripe I had with the assignments was with how they were marked. While the given rubrics seemed reasonable, it often seemed impossible to get anything above the 80s, even after thoroughly reviewing my writing. This wasn't unique to me, as several of the people I asked also felt this way. These assignments were part of what made this term feel like a massive drag, which is unfortunate since some of the courses I had this term had really interesting content. While I feel like I learned a couple new things from this course, I ultimately found myself wondering throughout the term whether taking this course was a mistake. Even with the benefit of hindsight, I still don't know if ENGL 119 was actually worth it.

The term felt a lot more exhausting compared to previous ones. I think this was due to two main factors. Firstly, as I alluded in my thoughts on several of the courses this term, a lot of the content in my courses was pretty dry, so I didn't exactly enjoy myself in class or studying as much. As well, this was my first double study term, so doing eight consecutive months of school didn't help with staying motivated. I had a lot more to say about the semester immediately after classes ended, but now that marks are out, big parts of the term just felt like a blur. Overall, this term had its moments, but most of the time it just felt like a massive chore.