With the winter break in swing, I had some time to reflect on my first term in the University of Waterloo’s Computer Science and Business Administration Double Degree program.

What didn’t go so well

I made several big mistakes throughout the semester, which led to more and more problems.

Why go to class if I have a midterm worth 30% of my grade tomorrow?

The issue with midterms in the Faculty of Mathematics at Waterloo is that you have midterms concurrently with lectures and assignments. Naturally, you would aim to prioritize midterms (which are worth from 10% - 30% of your grade) over lectures, however when midterms are disperced throughout the semester it becomes easy to fall behind. To provide perspective, DD students had seven midterms this year, starting from the first week of October until the middle of November.

Somehow I ended up falling behind by five weeks in my Algebra course, causing me to skip classes (since I was already too behind), and being totally lost on assignments. As a result, I spent the last three weeks before finals hardcore studying the textbook. I would go back home in Toronto, without my laptop charger, and all I would have is ~150 pages of notes for math. I would go through all the chapters, do all the proofs on paper and that is all. In the end, I managed to pass the course well enough so I can be a teaching assistant next year.

Having 5 exams in 6 days, while being 2 months behind in Economics and Business

The exam schedule this year for DD students was brutal, especially when compared with just Math/CS students who had a solid two or three days before each exam. This was my exam schedule:

  • Friday @7:00pm - Math 137 (Calculus)
  • Saturday @11:30am - Bus 111 (Business)
  • Monday @ 9:00am - Math 135 (Algebra)
  • Tuesday @ 7:00pm - Econ 120 (Microeconomics)
  • Thursday @ 12:00pm - Cs 135 (Functional Programming)

This was by far the most intense week for the whole semester. Especially considering I went to no business classes before that exam (zero! I went to no classes since midterms and the exam only covered material past the first midter), along with only going to half of my economics classes, that was truly a horrifying experience. Nonetheless, surviving off of goldfish crackers, not talking to anyone for a week, I managed to survive and do well in all my exams.

What went well

Having a strong foundation in mathematics along with computer science already set me ahead of my peers. In fact, I already covered most of the curriculum in the introductory Math 137 Calculus course, and I already was aquainted with all of the algorithms used in CS 135 Functional Programming course.

I also learned how to survive in university. This includes balancing time, finding the best places to eat food and where to go when you want to do what. Surprisingly, it took quite a while to fully figure everything out, from the endless websites you use to submit assignments to figuring out how to add courses on Loris. It was quite a struggle. To end off, here’s some Racket code.

(define lst '(hello term 1a 1b))
(define (output lst)
    (filter (lambda (x) (not (equal? x '1a))) lst))
(output lst)

This code outputs a list with the terms ‘hello ‘term ‘1b. Thanks for reading.