Rating Every Course I've Taken in University

Time to read: 31 min read

Finally Graduating

As of this week, I have officially graduated with an Hons. Bachelor of Computer Science from the University of Waterloo and an Hons. Bachelor of Business Administration from Wilfrid Laurier University. This is an excellent time to look back and reflect upon all of the courses I've taken in school, excluding the extracurricular courses I've taken outside of university.

The rating scales out of 5 are as follows:

Utility πŸ› 

This measures how applicable and helpful the content of the course is for work in the real world. Utility can be for both quantifiable (technical) and subjective (soft) skills.

Enjoyment 😁

This is a subjective measure for my personal enjoyment of the course, ranging from the engagement of the delivery to the thoughtfulness of assignments.

Time Commitment ⏳

This is a measure of how much time a course demands; time commitment is usually correlated with how challenging a course is, but not always. Oftentimes, for many of the business courses, the time commitment was high but the difficulty was low.

For full transparency I will also disclose the grade I received for each course on a scale (due to the two universities having a seperate grading scales):

  • Bad (equivalent to 60-69%)
  • Ok (equivalent to 70-79%)
  • Good (equivalent to 80-89%)
  • Excellent (equivalent to 90+%)

Terms:

Term 1A

BU 111 - Understanding the Business Environment

Info: WLU, Ok Grade, Mandatory

Utility: πŸ›  πŸ›  πŸ›  πŸ› 

Enjoyment: 😁 😁 😁

Time Commitment: ⏳ ⏳ ⏳ ⏳ ⏳

This was the standard first year business course exploring the fundamentals of businesses, such as how to understand financial statements and different frameworks like PEST. My understanding is that all business programs have an equivalent course, but the difference between most business programs' first year business courses and that of Laurier's is the latter's focus on actually applying the fundamentals. There was a New Venture project, where groups of students (assigned by TAs) will come up with a venture idea and go through the stages of assessing and planning out the idea (the idea was vibrating pillows for my group). There were also numerous labs and SI sessions outside of regular lectures, many of which are mandatory to attend; this course was perhaps one of the highest time commitment courses I've taken in university. I had basically zero business knowledge going into this, so the course had high utility for me.

CS 135 - Designing Functional Programs

Info: UW, Bad Grade, Mandatory

Utility: πŸ›  πŸ›  πŸ›  πŸ›  πŸ› 

Enjoyment: 😁 😁

Time Commitment: ⏳ ⏳ ⏳ ⏳

Having never written a line of code before university, this course was my proverbial baptism by fire. This course taught the fundamentals of programming, with a heavy emphasis on recursions, all using an esoteric language framework called DrRacket (a dialect of Scheme). I had non-existent work habits and learning skills, and I did not have the wisdom of checking professor ratings while selecting sections (I was placed in the lecture section with a prof who has, to this day, the only RateMyProfessor profile I've come across with only one star reviews). Needless to say, I didn't do well in this course and I seriously doubted my abilities in CS; despite this, I enjoyed the challenge and this course helped me grow as a person (and a programmer).

EC 120 - Introduction to Microeconomics

Info: WLU, Excellent Grade, Mandatory

Utility: πŸ›  πŸ›  πŸ›  πŸ›  (πŸ› )

Enjoyment: 😁 😁 😁 😁

Time Commitment: ⏳

This was the standard first year economics course. As with business, I basically had no exposure to economics, so this course was very valuable. Unlike with the subjectivity of BU 111, I liked the logical and mathematical rigor of economics (later on in university I even taught first year economics to raise money for charity). While highly focused on theory, there are many concepts, such as opportunity cost, which I use regularly in my everyday decision-making framework.

MATH 135 - Algebra for Honours Mathematics

Info: UW, Ok Grade, Mandatory

Utility: πŸ›  πŸ›  πŸ›  (πŸ› )

Enjoyment: 😁 😁 😁

Time Commitment: ⏳ ⏳ ⏳ (⏳)

This course was focused on studying mathematical proofs and covered many types of proofs, such as induction, contraposition, and contradiction. This was completely different from the math I've been taught growing up (which was mostly focused on calculations and applying different theorems in formulaic ways). Writing proofs, especially elegant ones, requires a certain degree of creativity; while most people don't write proofs for their everyday work, having a solid grasp of proofs is essential for understanding math (and is also very satisfying).

MATH 137 - Calculus I for Honours Mathematics

Info: UW, Ok Grade, Mandatory

Utility: πŸ›  πŸ›  πŸ› 

Enjoyment: 😁 😁 😁

Time Commitment: ⏳ ⏳

Having been fortunate enough to attend a high school with the IB program, a substantial portion of this course was review from high school. This course covered many problem solving techniques such as Newton's method, as well as core calculus concepts, such as Taylor polynomials.

Term 2A (skipped 1B due to high school credits)

BU 121 - Functional Areas of the Organization

Info: WLU, Ok Grade, Mandatory

Utility: πŸ›  πŸ›  πŸ›  πŸ›  (πŸ› )

Enjoyment: 😁 😁 😁

Time Commitment: ⏳ ⏳ ⏳ ⏳ (⏳)

This was the continuation of BU 111; the New Venture project was continued and the groups continued to work on different aspects of the venture, such as interviewing potential customers and practicing pitching to investors. The concepts covered in this course continued to build upon the foundations of BU 111. It was slightly less time-consuming than BU 111 but it was still a high commitment course.

CS 136 - Elementary Algorithm Design and Data Abstraction

Info: UW, Bad Grade, Mandatory

Utility: πŸ›  πŸ›  πŸ›  πŸ›  πŸ› 

Enjoyment: 😁 😁 😁 😁

Time Commitment: ⏳ ⏳ ⏳ ⏳

I also bombed this course, but this time I was fortunate enough to be placed in a section with an amazing prof who was passionate about what he taught. Through countless office hours, I caught up on what I missed from CS 135 and actually began to appreciate the logical nature of programming. It also helped that this course was taught in C instead of DrRacket and covered more foundational aspects of programming, such as different data structures and Big-O notation.

EC 140 - Introduction to Macroeconomics

Info: WLU, Ok Grade, Mandatory

Utility: πŸ›  πŸ›  πŸ›  πŸ› 

Enjoyment: 😁 😁 😁

Time Commitment: ⏳

After learning about opportunity cost in EC 120, I decided to stop attending certain classes and as a result missed a midterm, hence the Ok Grade. Despite this minor setback, I really enjoyed the content of the course which covered topics ranging from the drivers of national economies, different schools of thought in macroeconomics, and the importance of different metrics such as unemployment, price stability, and government policies. I didn't find this course as directly applicable as microeconomics, unless one is working as a macro investor or an economist.

MATH 136 - Linear Algebra I for Honours Mathematics

Info: UW, Ok Grade, Mandatory

Utility: πŸ›  πŸ›  πŸ›  πŸ› 

Enjoyment: 😁 😁 😁

Time Commitment: ⏳ ⏳ ⏳

This course was focused on core lin alg concepts such as matrix algebra, linear transformations, and operations and proofs on different vector spaces. This course was a good balance of calculations and proofs, and was more practical than MATH 135. I use some of the concepts taught in this course in my job as a data scientist.

MATH 138 - Calculus II for Honours Mathematics

Info: UW, Bad Grade, Mandatory

Utility: πŸ›  πŸ›  πŸ›  (πŸ› )

Enjoyment: 😁 😁 😁

Time Commitment: ⏳ ⏳

I was too complacent in this course; I thought it'd be like MATH 137 where I had learned most of the content in high school but MATH 138 was all brand new content. I learned about many new techniques to integrate and derive equations as well as new calculus concepts such as Riemann and improper integrals. I also learned to do calculus proofs, such as on seperable differential equations and tests for series convergence.

SPCOM 223 - Public Speaking

Info: UW, Good Grade, Mandatory

Utility: πŸ›  πŸ›  (πŸ› )

Enjoyment: 😁 😁 (😁)

Time Commitment: ⏳ ⏳ (⏳)

This was one of the mandatory language course requirements I had to fulfill. One thing I noticed about liberal arts courses is that they're much more subjective compared to CS courses and even business courses. The curriculum depended solely on the prof's whims; while my section was made to read highly academic literature on various social topics, other sections focused mainly on public speaking skills. While there were several interesting assignments, such as writing and retelling a story and doing a rant in public, much of the course (at least for my section) was not directly related to public speaking.

Term 2B

BU 127 - Introduction to Financial Accounting

Info: WLU, Good Grade, Mandatory

Utility: πŸ›  πŸ›  πŸ›  πŸ›  (πŸ› )

Enjoyment: 😁 😁

Time Commitment: ⏳ ⏳

This course covered the basics of the three major financial statements and different reporting standards, such as different ways to record depreciation and the difference between GAAP and IFRS. This course, while somewhat bland, was very useful in learning to interpret the finances of a business.

BU 283 - Financial Management I

Info: WLU, Excellent Grade, Mandatory

Utility: πŸ›  πŸ›  πŸ›  πŸ›  (πŸ› )

Enjoyment: 😁 😁 😁 😁

Time Commitment: ⏳ ⏳

I learned about valuation concepts such as TVM mathematics, risk management concepts such as portfolio theory and credit analysis, and general financial analysis such as calculating and forecasting different metrics, such as FCF and stock option values. The course was general but very informative; I enjoyed the exercises in Excel.

BU 288 - Organizational Behaviour I

Info: WLU, Good Grade, Mandatory

Utility: πŸ›  πŸ›  πŸ› 

Enjoyment: 😁 😁 😁

Time Commitment: ⏳ ⏳ (⏳)

This course was focused on analyzing the dynamics of individuals and groups within organizations; it covered topics such as management theories and styles; there were also simulations and case studies for applying the concepts being studied. The couse was a bit slow but I found many of the topics insightful, such as the different psychological biases affecting individuals.

CS 246 - Object-Oriented Software Development

Info: UW, OK Grade, Mandatory

Utility: πŸ›  πŸ›  πŸ›  πŸ›  πŸ› 

Enjoyment: 😁 😁 😁 😁 (😁)

Time Commitment: ⏳ ⏳ ⏳ ⏳ (⏳)

This was the first "real" programming course I've taken in university, where we had to build a full production project (my group built a functional version of Tetris, complete with a GUI). This course was incredibly practical, teaching skills such as Bash scripting and how to use Git. The weekly assignments and final project were in C++ and the course had a heavy focus on good coding practices, such as proper documentation, compartmentalizing code, and making effective use of design patterns. This course, while time-consuming at times (mainly guessing edge test cases for assignments), was excellent practice for me to become a better programmer.

EC 250 - Intermediate Macroeconomic Analysis for Management

Info: WLU (Online), Excellent Grade, Mandatory

Utility: πŸ›  πŸ›  πŸ› 

Enjoyment: 😁 😁 😁 😁

Time Commitment: ⏳ ⏳

This was the intermediate macroeconomics course, focused on teaching more specific economic theories, such as the impact of exchange rates and specific government policies. The course also covered key economic theories such as the Keynesian consumption function and different case studies which applied said theories. Much like the first year macroeconomics course, the content is very theoretical but interesting to learn.

STAT 230 - Probability

Info: UW (Online), Ok Grade, Mandatory

Utility: πŸ›  πŸ›  πŸ›  πŸ›  πŸ› 

Enjoyment: 😁 😁

Time Commitment: ⏳ ⏳ (⏳)

This course was one of the most important courses I've taken earlier-on in university as it taught many of the foundational statistical concepts, such as Bayes' Theorem and different probability distributions. The course also covered statistical functions, ranging from probability functions to moment generating functions. The course was extremely dry (especially taking it online) and the assignments were very dull; the course was very useful though, as many of the concepts apply to my work as a data scientist.

Term 3A

BU 231 - Business Law

Info: WLU, Good Grade, Mandatory

Utility: πŸ›  πŸ›  πŸ›  (πŸ› )

Enjoyment: 😁 😁

Time Commitment: ⏳ ⏳

This course taught about the Canadian legal framework, with a focus on how said framework can affect businesses. There was a focus on specific legislations such as contract and franchise laws; there were also reviews of specific court decisions and lawsuits to analyze said legal frameworks in context. I found the course a bit dry but I did enjoy learning about the fundamentals of the Canadian legal system.

BU 247 - Managerial Accounting

Info: WLU, Excellent Grade, Mandatory

Utility: πŸ›  πŸ›  πŸ›  (πŸ› )

Enjoyment: 😁 😁

Time Commitment: ⏳ ⏳

This course taught accounting but from an internal stakeholder's perspective, with an emphasis on business planning, decision-making, and performance evaluation. The courses taught some useful concepts such as different costing and budgeting methods; truth be told, I haven't actually used any of the knowledge in my work as an investor but they're useful tools to keep in the toolbox.

CO 250 - Introduction to Optimization

Info: UW, Ok Grade, Mandatory

Utility: πŸ›  πŸ›  πŸ›  (πŸ› )

Enjoyment: 😁 (😁)

Time Commitment: ⏳ ⏳ ⏳ (⏳)

I still don't fully understand everything I learned from the course. It's supposed to be an introductory course for mathematical optimization and while I was (and still am) interested in many of the topics such as linear programming and proofs on optimality and bounds, I found the course incredibly dry. The lectures consisted of the prof reading from a textbook rife with overly technical lingo, overly complex proofs, and overly non-intuitive language; this course solidified for me the disdain for overly complex academic language. While it's important to be precise, especially in math, it's also important to be able to communicate ideas in a clear and entertaining manner, which I did not feel this course accomplished.

CS 245 - Logic and Computation

Info: UW, Good Grade, Mandatory

Utility: πŸ›  πŸ›  πŸ› 

Enjoyment: 😁 😁 😁

Time Commitment: ⏳ ⏳

This was one of the few CS courses I've taken without any coding. This course was dedicated to logic, both propositional and predicate. There were many proofs, such as on program correctness and decidability. The course is as interesting as one would expect of a CS course with no programming, but I enjoyed the puzzle-like nature of the assignments.

MATH 239 - Introduction to Combinatorics

Info: UW, Ok Grade, Mandatory

Utility: πŸ›  πŸ›  πŸ›  πŸ› 

Enjoyment: 😁 😁 😁 😁

Time Commitment: ⏳ ⏳ ⏳ (⏳)

This was one of my favourite math courses I've taken in university; this course literally taught me how to count properly. There was quite a lot of content on generating series, strings, and trees, as well as on graph theory. I really enjoyed the assignments, as they were like puzzles and I found the lectures very engaging.

STAT 231 - Statistics

Info: UW (Online), Good Grade, Mandatory

Utility: πŸ›  πŸ›  πŸ›  πŸ›  πŸ› 

Enjoyment: 😁 😁

Time Commitment: ⏳ ⏳ (⏳)

As with STAT 230, this was a foundational course for me; it taught the theories and techniques behind statistical empirical experimentation, such as using both numerical and graphical methods to analyze and summarize data, and checking for model fit. There were also some light R programming components, where I was tasked with performing basic tasks such as linear regressions and Chi-squared tests. As with its sister course STAT 230, it was extremely dry but very practical.

Term 3B

BU 352 - Introduction to Marketing Management

Info: WLU, Excellent Grade, Mandatory

Utility: πŸ›  πŸ› 

Enjoyment: 😁 😁

Time Commitment: ⏳ ⏳

This course taught the foundational marketing frameworks such as the product life cycle and the AIDA model. It also taught the application of consumer and environmental analysis, marketing strategy formulation, and identification of the components of the marketing mix to case studies. I found the case studies to be too formulaic (usually the cases had an obvious correct answer) and while frameworks are useful, I'm warry of how they can constrict one's creativity in solving business problems due to one overly relying on them.

BU 354 - Human Resources Management

Info: WLU, Excellent Grade, Mandatory

Utility: πŸ›  (πŸ› )

Enjoyment: 😁 😁

Time Commitment: ⏳ ⏳

This was a very easy and very dry course; it taught the different functions of HR, such as staffing, training, and determining compensation. There were nuggets of value such as learning about job analysis and employer/employee rights, but such nuggets were rare; the bulk of the course was spent on memorizing definitions and frameworks (most of which I've since forgotten).

BU 393 - Financial Management II

Info: WLU, Excellent Grade, Mandatory

Utility: πŸ›  πŸ›  πŸ›  πŸ› 

Enjoyment: 😁 😁 😁 😁

Time Commitment: ⏳ ⏳

This course was the follow-up of BU 283; this one focused more on the long-term analysis of a company, such as the capital structure, cost of capital, and mergers and acquisitions. It also covered some finance theory, such as the Modigliani–Miller propositions. As with BU 283, I found the course very useful as it covered theories as well as applications.

BU 461U (A) - Competitive Case Analysis & Presentation A [Laurier JDCC Debate Team]

Info: WLU, Good Grade, Elective

Utility: πŸ›  πŸ›  πŸ›  πŸ› 

Enjoyment: 😁 😁 😁 (😁)

Time Commitment: ⏳ ⏳ ⏳ ⏳ ⏳

I joined Laurier's JDCC team, representing Laurier at the annual case competition between Canadian business schools. I competed in the debate category where my team and I debated different topics in both British and Canadian parliamentary styles. I trained weekly with both professors and alumni coaches to learn different social and political topics and practiced rhetorics. I've always enjoyed debate in high school so being able to represent my university and getting a credit by debating is pretty awesome. JDCC is a pretty large time commitment, however, having half-day practices every weekend and perpheral activities such as mentoring younger students and volunteering in the community.

CS 241 - Foundations of Sequential Programs

Info: UW, Ok Grade, Mandatory

Utility: πŸ›  πŸ›  πŸ›  (πŸ› )

Enjoyment: 😁 😁 😁 (😁)

Time Commitment: ⏳ ⏳ ⏳ ⏳

This course covered the concepts behind how high-level languages interact with computer architecture; topics covered included assemblers, linkers and loaders, and parameter passing mechanisms. The assignments included building a simple compiler to translate a C-like language into MIPS. While not directly applicable to my work, I think all programmers should have atleast a general understanding of what goes on under the hood of the code they write and I think this course provides just that.

CS 245 - Computer Organization and Design

Info: UW, Excellent Grade, Mandatory

Utility: πŸ›  πŸ›  πŸ› 

Enjoyment: 😁 😁 😁

Time Commitment: ⏳ ⏳

This course covered both theoretical and practical concepts surrounding computer hardware, such as digital logic design, numerical computation at the logical level, and processor design. There was no real programming but I enjoyed the assignments as they were pretty logic-heavy and while the content was a bit simple, it was pretty interesting to learn about what coding is like at a hardware level.

Term 4A

BU 362 - Building and Managing Products, Services and Brands

Info: WLU, Good Grade, Mandatory

Utility: πŸ›  πŸ› 

Enjoyment: 😁 😁 (😁)

Time Commitment: ⏳ ⏳ ⏳

This marketing course focused more on applying concepts to case studies; each lecture was just discussing cases and the class projects revolved around writing case reports and presenting different cases. While I did enjoy some of the in-class discussions, as with BU 352, oftentimes there was a "correct" method to solve the problems and deviations from said method were penalized. While this reinforced the frameworks learned in BU 352, it also restricted creativity which was the antithesis of what a marketing course should be.

BU 375 - Operations Management

Info: WLU, Excellent Grade, Mandatory

Utility: πŸ›  πŸ›  πŸ› 

Enjoyment: 😁 😁

Time Commitment: ⏳ ⏳

This course taught the fundamentals of operations management and decision-making, covering different topics such as resource and capacity planning, lean operations, and project management. I found this was one of the more useful business courses as it covered several models which were non-theoretical and more practical, such as how to make effective Gantt charts.

BU 398 - Organizational Behaviour II

Info: WLU, Good Grade, Mandatory

Utility: πŸ›  πŸ› 

Enjoyment: 😁 😁 😁

Time Commitment: ⏳ ⏳

While BU 288 taught OB at an individual level, BU 398 taught OB at an organizational level; topics covered included different organizational structures and processes. I enjoyed some of the exercises and simulations but I found this course to be overly theoretical and not as practical as BU 288.

BU 461U (B) - Competitive Case Analysis & Presentation B [Laurier JDCC Debate Team]

Info: WLU, Good Grade, Elective

Utility: πŸ›  πŸ›  πŸ›  πŸ› 

Enjoyment: 😁 😁 😁 (😁)

Time Commitment: ⏳

This course covered the actual JDCC competition which took place over a weekend; even though my team only finished as a finalist in our category, it was still overall a positive experience.

BU 461X - Lazaridis Management Consulting Practicum

Info: WLU, Ok Grade, Elective

Utility: πŸ›  πŸ›  πŸ›  πŸ›  (πŸ› )

Enjoyment: 😁 😁 😁

Time Commitment: ⏳ ⏳ ⏳ ⏳ (⏳)

This was a course where one can gain real-life consulting experience. My team and I were tasked with compiling a report on autism service delivery for a non-profit organization. We were coached by consultants from the Big Three consulting firms (BCG, Bain, McKinsey) on how they handle engagements within their firms. My group and I worked through the various stages of the project, from project planning, to client management, to interviewing ABA therapists from around the world to compile a report with both quantitative and qualitative takeaways. The enjoyability and time commitment of the course is highly variable as it's dependent on the project one gets staffed on (much like real world consulting I'd imagine).

CS 240 - Data Structures and Data Management

Info: UW, Ok Grade, Mandatory

Utility: πŸ›  πŸ›  πŸ›  πŸ›  πŸ› 

Enjoyment: 😁 😁 😁

Time Commitment: ⏳ ⏳ ⏳

This course covered the concepts and operations on core data structures such as priority queues and self-balancing trees. Different sort and search algorithms were covered, as well as more esoteric topics such as transformations for encryption and compression. This course was very useful because it basically covered most of the common technical interview topics; the assignments were also pretty interesting, consisting of different programming puzzles (basically longer Leetcode questions).

Term 4B

BU 480T - Independent Research [Laurier JDCC Digital Strategy Team]

Info: WLU, Good Grade, Elective

Utility: πŸ›  πŸ›  πŸ›  πŸ› 

Enjoyment: 😁 😁 😁

Time Commitment: ⏳ ⏳ ⏳ ⏳ ⏳

I returned to Laurier's JDCC team, this time competing in the Digital Strategy category. My team and I partook in weekly practices where we analyzed and presented different business cases with a focus on digital transformation and MIS. There were weekly practices where my team and I were judged by a panel consisting of consultant coaches, professors, as well as our peers; my team and I must've gone through 2-3 dozen cases throughout the term. There were also extracurricular commitments, such as volunteering in the community. At the actual competition, although my team only came third in our category, Laurier won School of the Year as well as Academic School of the Year.

BU 481 - Business Policy I

Info: WLU (Partially Online), Good Grade, Mandatory

Utility: πŸ›  πŸ›  (πŸ› )

Enjoyment: 😁 😁

Time Commitment: ⏳ ⏳ (⏳)

This is a business strategy course focused on high-level strategy formulation and frameworks, such as Diamond-E and VRIO analysis. The assignments consisted of writing business reports on different cases and the lectures consisted of discussions on said cases. I found the course a bit redundant as I've already learned about case analysis in JDCC and I'm warry of business frameworks due to the fact that they can constrict creative thought if applied in a dogmatic way.

BU 493V - Investment Strategies

Info: WLU (Partially Online), Ok Grade, Elective

Utility: πŸ›  πŸ›  πŸ›  πŸ› 

Enjoyment: 😁 😁 😁

Time Commitment: ⏳ ⏳ (⏳)

This course covered different hedge fund investment strategies; the course was fairly general as it covered broad topics ranging from managed futures to merger arbitrage. I liked how the course incorporated a Python component, where one completed workbooks on different topics such as analyzing data and backtesting trading strategies. The final assessment consisted of various larger research projects, such as the clichΓ©d scraping Twitter for signals. The course wasn't overly technical (it assumes no prior programming experience) and it was a decent introduction into how different investment strategies make money.

CS 341 - Algorithms

Info: UW (Partially Online), Good Grade, Mandatory

Utility: πŸ›  πŸ›  πŸ›  πŸ› 

Enjoyment: 😁 😁 😁

Time Commitment: ⏳ ⏳ ⏳

It appears to be a trend that the most useful courses tend to have the shortest names, and this course was no exception. It covered many useful programming techniques such as dynamic programming and graph searches; it also covered some interesting theoretical concepts such as proving bounds of algorithms and hardness of problems. The assignments were usually at a Leetcode medium/hard difficulty and there were proofs as well; overall the course was excellent practice for tackling harder interview questions.

CS 348 - Introduction to Database Management

Info: UW (Partially Online), Excellent Grade, Elective

Utility: πŸ›  πŸ›  πŸ›  πŸ›  (πŸ› )

Enjoyment: 😁 😁

Time Commitment: ⏳ ⏳ ⏳

This course taught the fundamentals of effectively designing and managing databases; it covered technical skills such as drawing E/R diagrams and writing queries in SQL. It also covered database theory, such as BCNF proofs and relational algebra/calculus. The lectures and assignments were very dry but the final project can be very interesting; my group and I were given the very broad mandate to build a program with a database component and we built a CLI version of PokΓ©mon in Java. Overall it was a very easy but useful course.

CS 350 - Operating Systems

Info: UW (Partially Online), Excellent Grade, Mandatory

Utility: πŸ›  πŸ›  πŸ›  πŸ› 

Enjoyment: 😁 😁 😁 😁 😁

Time Commitment: ⏳ ⏳ ⏳ ⏳ (⏳)

This course taught the principles of operating systems, covering topics ranging from synchronization primitives to virtual memory. The assignments involved building different components of a simplified OS, OS/161; the assignments gave me the realization that OS developers are all, to a certain extent, masochists, because debugging multi-threaded programs is perhaps one of the most exhuasting things a dev can do. The dopamine rush when the code finally works correctly, however, is phenomenal. This was one of my favourite CS courses.

Term 5A

BU 400 - Advanced Equity Analysis [Laurier Student Investment Fund]

Info: WLU (Online), Excellent Grade, Elective

Utility: πŸ›  πŸ›  πŸ›  πŸ›  πŸ› 

Enjoyment: 😁 😁 😁 (😁)

Time Commitment: ⏳ ⏳ ⏳ (⏳)

This course was associated with participation in Laurier's $1+ million student investment fund; I was paired with a mentor and performed deep fundamental analysis on a healthcare company (TSX: CRRX). The experience was very similar to my internship working as a public equity investor, so it would be an ideal course for people interested in fundamental finance but have not had the chance to do a relevant internship. My class and I participated in weekly discussions on different aspects of analyzing the fundamentals of a company, from forecasting drivers of growth to building DCFs; my mentor was even kind enough to leverage his firm's resources to get me an interview with the management team.

BU 491 - Business Policy II

Info: WLU (Online), Good Grade, Mandatory

Utility: πŸ›  πŸ› 

Enjoyment: 😁 😁

Time Commitment: ⏳ ⏳

This is a business strategy course with a focus on multinational corporations; like BU 481, the course is focused on solving cases and memorizing frameworks. As with BU 481, I found the course very subjective and not extremely practical unless your goal is to work for a large corporation.

BU 493U - Financial Markets and Securities Trading

Info: WLU (Online), Excellent Grade, Elective

Utility: πŸ›  πŸ›  πŸ›  πŸ›  πŸ› 

Enjoyment: 😁 😁 😁 😁 😁

Time Commitment: ⏳ ⏳ ⏳

This was one of my favourite courses I've taken at Laurier; it covered the mechanics of different markets, ranging from market microstructure to different case studies of the market (mal)functioning. There were also case studies done on the Rotman Interactive Trader, a simulated market environment where one can trade either by hand or through code. The course also covered popular misconceptions about how the market works, such as debunking Michael Lewis' Flash Boys.

CS 486 - Introduction to Artificial Intelligence

Info: UW (Online), Excellent Grade, Elective

Utility: πŸ›  πŸ›  πŸ›  πŸ›  πŸ› 

Enjoyment: 😁 😁 😁 😁 (😁)

Time Commitment: ⏳ ⏳ ⏳

This was the introductory course for AI; it was a broad course that covered many core concepts like uncertainty, machine learning, and multi-agent modeling. Due to the breadth of the course, each topic was not explored in great depth but there was enough content to get one started in learning about the fundamentals of AI. There was also a term project, where people formed teams and were encouraged to research and implement an AI model in an area of interest; my team and I worked with CNNs on facial emotional intensity detection. We did everything from drafting up a research plan, to begging certain organizations for access to their datasets (big shout out to University of Amsterdam), to implementing the code and writing up the report. I found it very fruitful to experience first-hand what it's like to conduct academic research. To be honest, this course should have been a first/second year elective instead of a 4th year elective; understanding basic AI should be in the toolbox of every software professional.

CS 490 - Information Systems Management

Info: UW (Online), Excellent Grade, Mandatory

Utility: πŸ›  πŸ› 

Enjoyment: 😁 (😁)

Time Commitment: ⏳ (⏳)

This course was more of a business course than a CS course; it consisted of learning how technology is used in businesses and the technical jargon associated with said usage. The course was incredibly dry and consisted mainly of reading textbooks and answering multiple-choise questions. The only aspect of the course I liked was where one was forced to give a tech talk about certain technologies; there were some pretty interesting presentations (including one where the guy just walked through how his Peloton exercise bike worked). It was an easy course though, if one is looking to boost their average.

CS 492 - The Social Implications of Computing

Info: UW (Online), Excellent Grade, Mandatory

Utility: πŸ›  πŸ›  πŸ› 

Enjoyment: 😁 😁 😁

Time Commitment: ⏳ ⏳ ⏳

This was another non-technical CS course focused on the ethics and morals associated with technology. This course required much writing; due to me taking it online, my class had to not only write essays, but also write forum discussion posts. Due to a substantial component of the grade being participation, much of the discussion felt forced; there were, however, many original ideas and it was interesting to think about both the positive and negative effects on our lives that technology has had. I would've enjoyed the course more if it covered more philosophical aspects of technology instead of just the practical aspects, but it was an interesting course different from the others I've taken in university.

Term 5B

BU 403 - Entrepreneurial Finance

Info: WLU (Online), Good Grade, Elective

Utility: πŸ›  πŸ›  πŸ›  πŸ›  πŸ› 

Enjoyment: 😁 😁 😁

Time Commitment: ⏳ ⏳ ⏳

This course covered the finances behind starting a new entreprise, from both an investor and an operator perspective. The course covered everything from valuing a company, to analyzing equity packages, to more subjective aspects of finance, such as determining founder and product-market fit. I liked how the course was not solely focused on tech start-ups and covered diverse industries ranging from real-estate to pharma. This course was extremely useful for understanding the financial mechanics behind funding and operating a start-up.

BU 460 - Laurier Start-Up Fund

Info: WLU (Online), Excellent Grade, Elective

Utility: πŸ›  πŸ›  πŸ›  πŸ›  πŸ› 

Enjoyment: 😁 😁 😁 😁

Time Commitment: ⏳ ⏳ ⏳ ⏳ (⏳)

I was an analyst for Laurier's in-house venture capital fund; I attended angel network meetings where I listened to different pitches by start-up founders. With a partner, I conducted deep due dilligence on a company, ranging from building financial models and interviewing founders, to arrive at an investment thesis. This felt like a less quantitative version of LSIF with a focus on subjective analysis, such as determining whether the founders are a good fit. There were weekly discussions alongside workshops and networking opportunities within the angel community in the Waterloo region.

CO 487 - Applied Cryptography

Info: UW (Online), Good Grade, Elective

Utility: πŸ›  πŸ›  πŸ›  πŸ›  πŸ› 

Enjoyment: 😁 😁 😁 😁 😁

Time Commitment: ⏳ ⏳ ⏳

This course offered a broad overview into the world of cryptography, covering topics such ciphers, hashes, and different specific applications of cryptography, such as key management and cryptocurrencies. I especially enjoyed the assignments, which covered many proofs as well as puzzles on how to break different schemes or cryptography setups. I also enjoyed learning about the different case studies (such as why QQ browser's encryption was a disaster and how Google manages its keys). It was clear that a lot of thought and effort has been put into this course; there were even interviews with some of the most prominent figures in the cryptography field.

CS 451 - Data-Intensive Distributed Computing

Info: UW (Online), Excellent Grade, Elective

Utility: πŸ›  πŸ›  πŸ›  πŸ›  πŸ› 

Enjoyment: 😁 😁 😁 😁 😁

Time Commitment: ⏳ ⏳ ⏳ ⏳ ⏳

This was the big data course, covering important topics such as MapReduce, parallel processing, and ETL. The course was partially in Java and partially in Scala. This was one of the most practical courses I've taken, with skills directly applicable to data science research, machine learning engineering, and backend development. The assignments were extremely difficult to get perfect on and oftentimes took many hours to debug and unit test, but they were extremely fulfilling once the code runs properly. There was also a research component where one conducted a big data analysis project, from building the pipeline to presenting the results; my partner and I parsed through months of Reddit comments, analyzed the sentiments, and compared it with performance of certain equities.

CS 489 - Neural Networks

Info: UW (Online), Excellent Grade, Elective

Utility: πŸ›  πŸ›  πŸ›  πŸ› 

Enjoyment: 😁 😁 😁 (😁)

Time Commitment: ⏳ ⏳ ⏳

This course was focused on learning the fundamentals of different ML frameworks, ranging from learning about the different forms and structures that neural networks can take, to more advanced topics such as adverserial attacks. The main selling point for me was the neuroscience twist that the course takes (relaying computer algorithms to how the human brain works); I had already known most of the technical content of the course from extracurricular learning (such as Coursera) and while the course covered some topics I haven't learned yet and serves as a good refresher for topics that I have learned, I would've enjoyed it more if it had more content pertaining to neuroscience. There were weekly exercises which were done in Jupyter Notebook as well as frequent quizzes.

MATH 235 - Linear Algebra 2 for Honours Mathematics

Info: UW (Online), Excellent Grade, Elective

Utility: πŸ›  πŸ›  πŸ›  (πŸ› )

Enjoyment: 😁 😁 😁

Time Commitment: ⏳ ⏳ ⏳

I took this course mainly to qualify for the Quantum Information Processing course (which I didn't even end up taking because I decided to graduate early instead). Even compared with the earlier math courses I've taken at UW, this one is extraordinarily proof-heavy. Many of the topics, such as projections and orthogonality, were direct follow-ups from MATH 136; due to the large gap between taking this course and taking MATH 136, I had to spend some time reviewing MATH 136 to be able to understand the concepts. The assignments were variable; some were very short and easy, while others required multi-page proofs. While this course isn't directly applicable to my work (yet), I can see it being applicable to various fields, such as physics and computer graphics.