My first year at the University of Waterloo: Tips to incoming undergraduates
“But I don’t want to go among mad people,” Alice remarked.
“Oh, you can’t help that,” said the Cat: “we’re all mad here. I’m mad. You’re mad.”
“How do you know I’m mad?” said Alice.
“You must be,” said the Cat, “or you wouldn’t have come here.”
My first year at the University of Waterloo:
I have officially completed my second term at the University of Waterloo and my first year as a Computing and Financial Management (CFM) student here. I thought I would take a couple of moments to reflect on the past year, the courses I've taken, and what I've realized during the last eight months. I've thought about how valuable (and expensive) this last year has been. UW has pushed me far beyond what I believed was possible. I've had many long nights, stressful assignments, and a (healthy) dosage anxiety-inducing exams. In combination, I've had many laughs, social nights, and successes.
1. Attend Orientation
UW Orientation Week 2019 https://bit.ly/3e8Nn10
Orientation Week is probably the most blissful part of the first year. While not in the itinerary, getting lost around campus, meeting random people, and sporadic nightly games of manhunt all frequently occurred.
Orientation is really just three days of short mini-games and lectures on what to expect for the next four years. The games were fun-ish, but the real value of orientation was the social aspect to meet other people in your faculty/program and other undergraduates. I will say, 2019 Math Orientation team names were quite amusing; some of my personal favourites include: Babooleans, Ine-koala-ties, Orangu(sin/cos), mx+bees, and -ranhas.
2. First Week of Classes
Probably the easiest week for the rest of my undergrad, but adjusting to Uni life + anxiety + excitement result in different reactions for different people. The highlight of this week was attempting (and failing) at solving my first couple of proofs. Things will be hectic during this time, but the dust will settle. Just remember that this is not the time to slack off. Get ahead on courses and stay on top of everything - you will want a running start for the inevitable time when everything starts catching up.
3. Reflecting on my 1A Courses
Math 135 - Algebra for Honours Mathematics
I personally didn't like this course until after I finished it. I struggled for the first couple of weeks, trying to grasp my head around different proof techniques. Math 135 taught me how to look at problems from a different perspective.
If you are like me, you will find solving proofs to be challenging. After two months, on one random day, something just clicked, and the proofs became more natural than before. Most people go through this "It just makes sense" phase too. Personally, I don't think this is something that can occur with exposure to content or practice - it's just a matter of time to understand the logic.
Math 135 does introduce a collection of some exciting concepts, including Set theory, Rings, and the Riemann Hypothesis. My favourite part of this whole course was the unit spent on encoding and decrypting the RSA encryption scheme.
Math 137 - Calculus 1 for Honours Mathematics
My favourite first-year math class, probably because this course was just a thousand delta-epsilon proofs with a couple of concepts and theorems here and there. I found this course to be very similar to grade 12 calculus - perhaps this is the reason why I found it more relaxed than my other classes.
Some courses are very mechanical, that is, plug and chug. If you can find yourself mastering one fundamental concept, like delta-epsilon proofs, it makes the rest of the course magnitudes easier to understand
CS 135 - Designing Functional Programs
I found CS 135 to be an incredibly interesting course, especially coming into it with prior coding knowledge. Racket, the language used in CS 135, is entirely based on functional programming. That means, no loops only recursion, no variables, and functions can be passed as first-class values. Racket is eye-opening and re-invented what I thought about programming.
(define (my-factorial x) (cond [(zero? x) 1] ;; No loops so my-factorial has to be written with recursion [else (* x (my-factorial (sub1 x)))])) (define (my-multiplier x) ;; The prefix notation of racket seems weird at first but is easy to understand ;; Instead of (x * y) or (x + y) it becomes (* x y) and (+ x y) (λ (y) (* x y))) ;; Functions as first-class values (define multiply-by-3 (my-multiplier 3)) (check-expect (my-factorial 4) 24) (check-expect (multiply-by-3 (my-factorial 4)) 72)
Racket gets a bad reputation since it's alien-like syntax is nothing like Java or C, and it's functional programming conventions seem more of an annoyance than of value. Don't fall into this mindset! Racket is super powerful, and once you start using it, the syntax will become second nature.
As an aside, diving into the world of Racket macros allows you to extend the language yourself. There are a lot of great tutorials online that walk you through how you can build your own language using Racket macros.
AFM 101 - Introduction to Financial Accounting
This course was basically a carbon copy of Grade 11 and 12 HS accounting. I found that the work was minimal and menial. Ironically, the one part about the course I did enjoy was the (not testable) general finance knowledge, sometimes discussed in the first 10 minutes of class. Not much else to say about AFM 101.
AFM 132 - Introduction to Business Stages
A course on basic business knowledge, found it be similar to grade 10 HS business. While the course was fundamentals and sleep-inducing, the course staff were great. It was nice to take 132 since it was a stark difference to most of my other classes. Most of the math courses were practice and conceptually heavy, whereas AFM 132 was memorization heavy - I like that balance.
I found AFM 101 and AFM 132 to be the easiest first year AFM courses, and from general consensus from upper-year students, these two courses are on the easier end of the spectrum of all AFM courses. Don't slack off in these courses - 101 and 132 should be the courses that should set your SMAV up to be in the comfortable zone.
Hack The North 2019!
4. Reflecting on my 1B Courses
Math 136 - Linear Algebra 1 for Honours Mathematics
This course started off right where Grade 12 Calculus and Vectors ended off and then quickly ramped up to systems of linear equations, vector spaces, linear maps, and matrices. I loved the content taught but loathe the assessments (a common theme I’m finding in most of my courses). My mark definitely did not reflect my enthusiasm, but luckily consistent interest up until the very end did save my mark.
Math 138 - Calculus 2 For Honours Mathematics
As a continuation of Math 137, I thoroughly enjoyed this course as well. The midterm was not fun, but the rest of the course was. 138 was also the one class in which I only looked at the course notes a handful of times. I found the instructor resources and practice assignments to be great to learn the course content. If I could go back, I would start preparing for the Math 138 midterm even earlier. It's a common theme the past couple years that the 138 midterm seems to be "hard" part of the course.
CS 136 - Elementary Algorithm Design and Data Abstraction
A stark difference to CS 135; CS 136 is based on C rather than Racket. I found CS 136 to be more my forte since, unlike Racket, C syntax is very similar to Java. Probably the highlights of this course were discussing memory management, pointers, and time complexity. The one thing I noticed is that CS 136 is very much focused on getting terminology and syntactic meaning right: passed vs input and output vs return as two examples.
AFM 102 - Introduction to Managerial Accounting
I personally like managerial account much more than financial accounting. With 102, I was at least able to see the bigger picture and the applications to managerial accounting. But like with AFM 101, I still found 102 to be my least likeable course this term. I guess I am just not a fan of accounting courses. Luckily, CFM doesn't require you to take any accounting courses beyond AFM 101 and 102.
AFM 121 - Introduction to Global Financial Markets
I loved this course! AFM 121 is basically a course that teaches basic excel. The content is probably the most useful/life-applicable course I have taken. Content like time value of money, RRSPs vs TFSAs, and fixed income securities are things I know I will use for the rest of my life. I was not a fan of the marking scheme, but other than that, I thoroughly enjoyed the course and content. Get used to excel and be very comfortable with the shortcuts and built-in commands of excel. I was able to finish the midterm within 50 minutes (total midterm time is 1 hour and 30 minutes), giving me forty minutes to go back and check everything over simply by using excel shortcuts.
4. Get involved around campus
Pitching our venture idea for sustainable & reusable food containers at UW's semi-finals Hult Competition!
There are a lot of great ways to get involved around campus, whether that be in residence, clubs, student unions, councils, hackathons, etc. Find something you like and get involved. I should say that it's also important not to spread yourselves out too thin, so know your limits - I think it's better to under commit to activities outside academics rather than overcommit. I focused on a couple of key activities in my first year:
Math Endowment Fund - It's a neat experience to see where the money from the math faculty goes. I had the chance to meet with different councils and clubs as they pitched to use why the needed funding from the endowment fund. I learned a lot about the different supports around campus and see what other cool things go around on campus.
UW DECA - I took the opportunity to continue my experience of high school DECA but reduced the amount of training. If anything, UW DECA was a great way for me to relax and refresh myself.
I found midterms to be very similar to high school exams. I think of midterms as an excellent litmus test to determine my standing in a course. In all my courses, I found that the rank of my midterm marks, that is, my courses ranked based on my midterm marks from highest to lowest, matched exactly to my courses ranked by final mark. I think this is for two reasons, partially due to the fact that many midterms have substantial weight (15% - 30%), which contributes to the final mark. And secondly, and what I think is more consequential, it’s a good indication of how much of the content you actually know. Even if the latter half of the course, post-midterm, is harder than the first half (which it often is), I believe the midterm is a sound basis to determine your conceptional understanding of the course.
6. Final Exams
Naturally, the most stressful part of the term but also the most satisfying to finish. Final exams were definitely more challenging than midterms and combined that with the short timeframe from one exam to the next doesn’t make it any better. Final exams are a necessary evil. All I can suggest on this subject is to start preparing early and thoroughly.
7. The Waterloo Campus - Find a great study space
To put it simply: ugly. Well, to give Waterloo credit, some of the buildings are quite beautiful.
Buildings like MC, RCH, and DP all fall in the last century architecture category. Unfortunately, I also find myself and my classes more commonly in these buildings.
In contrast, the SAF building, DC, and QNC are visually appealing to the eye. I didn’t think the look of a building would have a significant impact on my study habits or my attitude, but after spending hours on end each day in buildings like MC, I see the importance of a soothing environment. Find a place where you know you will be productive and undisturbed.
8. Stay in Residence
My room in Claudette Millar Hall (CMH)
I was lucky enough to get my first choice of residence Claudette Millar Hall (CMH). The building and rooms were gorgeous, and the views I woke up to every day were fantastic (definitely going to miss that). I think the best part of the residence experience was the social aspect. Meeting people in the same faculty makes understanding concepts and learning exponentially easier. In general, having the chance to meet and interact with many individuals made the year go by much quicker.
Regardless of what residence you choose you will have the opportunity and you should make the effort to meet new people.
9. Show up to class!
Let's consider why: If we take a course like AFM 121, which has one lecture and tutorial a week, we get a total of 24 total events throughout the term. Here is the cost per event for a CFM student in their 1A term :
Cost per class:
Now consider a second year and above CFM student:
You can see the cost is a substantial amount. Just one class of AFM 121 for an international CFM student can cost $. It doesn't make sense to skip a class financially.
More often than not, Professors will put information into exams or give tips that are only mentioned in class. While you may be able to learn the material on your own, it's likely that you won't be able to learn everything taught in class, and it will take you a longer time in comparison. Show up to class.
10. The CFM Program
I’ve enjoyed the balance between finance/accounting vs the math/computer science courses. I do see an added value with the CFM degree as compared to a general CS degree or even the double degree BBA/BCS degree. With CFM, the added value comes in with the small program (easier to put faces to a name), upper-year mentorship, and close community.
I hope you found some of this information helpful. Don't hesitate to reach out to me or any other upper-year students at Waterloo, most of us are happy to help and support others.
Links for photos: