This is an open archive from my time (and my friends’ times) as Waterloo and Laurier CS/BBA and MATH/BBA students. If you find it useful and want me to endure more pain, consider sending me a coffee bubble tea. Minus Stripe/PayPal’s 30¢ transaction fee, of course.


All contributors to this archive are students. Nothing here is official. There are no guarantees that content is remotely close to correct. Frankly, it’s more likely that it’s not. Please let me know if you find a mistake though! Or, in the spirit of open source, make a pull request fixing it.

Everything here is published under information and belief that it is permitted by relevant faculty; please contact me if anything is not and I will take it down.

Contribution, Sharing, and Re-Use

If you would like to add your own work to the site, please make a pull request. If you’re not familiar with Git, contact me and I’m happy to help.

Anything that helps future students (lecture/textbook notes, exercises, etc.) is acceptable, provided that you are happy to release it freely.

Unless otherwise specified, all content here is licensed under a Creative Commons Attribution ShareAlike 4.0 International License (CC-BY-SA 4.0). This means you can do whatever you want with it, provided you (1) give credit and (2) also release your work openly. Non-free study resources behind hard paywalls suck. Learning is painful and agonizing enough as it is.

If you want to use my agony document class for \(\LaTeX\), feel free to download it and look through the macros. The reference sheets on this site use an adapted config for MathJax. The agony class is documented here.

Table of Contents

Lazaridis School of Business and Economics


BU 111 (F20, F22) Introduction to the Business Environment

Imaad’s flashcards for PEST factors and strategic expansion.

Complete notes for the F22 midterm and final by Sophia.

BU 121 (W21) Functional Areas of the Organization

BU 121 has since been completely redesigned. These materials are no longer in any way representative of the course content.

Flashcard sets by Imaad for the whole course.

Study materials by Ace were also published before each assessment.

BU 121 (W24) Critical Thinking and Communication Skills

Notes from the entire course, including readings, by Chloe and Stella.

Final exam flashcards by Yash and Karthik.

BU 288 (F21) Organizational Behaviour

Another flashcard set for the two midterms and final exam.

BU 231 (S22) Business Law

Yet more Quizlet cards by Imaad for the midterm.

A review casebook using real life fact patterns is available here.

For post-midterm content, Imaad made a summary in flowchart format.

BU 352 (F22) Introduction to Marketing

Flashcard set by Imaad.

BU 354 (F22) Human Resources Management

Flashcard set by Imaad.

BU 387 (F23) Intermediate Accounting I

Chapter notes by Imaad.

BU 398 (S23) Organizational Behaviour II

RemNote flashcards which also serve as lecture notes.


EC 120 (F20, F23) Introduction to Microeconomics

No “practice”, but figured this is a nice place to host my cheat sheets. They are created on Figma, and the source files are available here.

If you just want the sheets, you can get them all at my Ko-Fi shop (which is, as always, pay-what-you-want). They remain on this GitHub repository too.

More recent (F23) notes by Benny.

EC 140 (W21, W24) Introduction to Macroeconomics

I hastily put together an equation sheet after lecture on the 4th.

Cheat sheets are being provided on my pay-what-you-want store. Set the price based on your marginal propensity to consume cheat sheets.

Versioning is semantic: anything that is wrong/serious bumps the major version, aesthetic changes bump the minor version.

Some more recent (W24) notes by Benny.

Waterloo Faculty of Mathematics

Computer Science

CS 135 (F20) Designing Functional Programs

I don’t implement the full design recipe in exercises, for obvious reasons (I’m lazy):

CS 136 (W24) Elementary Algorithm Design and Data Abstraction

Examples and explanations for how pointers in C work

Course notes, from sessions 6 through 11, by Stella and Chloe.

More course notes by Benny

Mock final, and mock final solutions, by Tommy and Benny.

CS 245 (F21) Logic and Computation

My own version of the reference sheet is a bit more compact.

CS 246 (S23, W24) Object-Oriented Software Development

Lecture notes from S23 by Ananya are available.

Detailed lecture notes from W24 by Benny, Tommy, and Yifei.

CS 330 (F23) Management Information Systems

RemNote flashcards/lecture notes by Imaad. This should honestly be in the BU section.

CS 341 (S23) Algorithms

My lecture notes are available, taken live during lecture.

CS 350 (S23) Operating Systems

Lecture notes for the first few lectures, before I gave up on going to class.

CS 480/680 (W24) Introduction to Machine Learning

Lecture notes, updated after each lecture.

CS 886 (W24) Advanced Topics in Artificial Intelligence

On the topic of “diffusion models for generation, inference and optimization”. Seminar notes from my audit of the course have been moved to the etudes repository. I am very not qualified to understand what’s going on, so these are really just a personal, public commitment to trying to learn.


MATH 135 (F20) Algebra for Honours Mathematics

Extra Practice files have been collated and reformatted as one big PDF. Older files can be found in the Git history.

MATH 136 (W21) Linear Algebra I for Honours Mathematics

A collection of theorems can be found here and practice problems here.

MATH 146 (W89) Linear Algebra I (Advanced)

I found an old copy of my father’s Linear Algebra, 2nd edition by Hoffman and Kunze from when he was at Waterloo (and had the guts to take 14x courses). My solutions so far are in the etudes repository.

MATH 137 (F20) Calculus I for Honours Mathematics

MATH 138 (W21) Calculus II for Honours Mathematics

A collection of theorems can be found here.

Jimmy has notes for series and Taylor series.

MATH 239 (F22) Introduction to Combinatorics

My lecture notes (incomplete and somewhat experimental) are available. You might be interested in the source if you want to use TIKZ for graph theory.

There are also exercise solutions for the course notes (using the Part I F20 and Part II S18 course notes). Progress:

Pure Math

PMATH 348 (S23) Fields and Galois Theory

Lecture notes by Imaad. They were originally written in Obsidian (which uses a different Markdown parser), so they look a little funny after spamming regexes to try and make it GFM-friendly.

PMATH 370 (W24) Chaos and Fractals

Lecture notes, updated after each lecture.

Combinatorics and Optimization

CO 250 (S22) Introduction to Optimization

Lecture notes originally written in Obsidian and ported to LaTeX. The original Obsidian file is here

CO 485/685 (F22) Mathematics of Public-Key Cryptography

More lecture notes with the caveat that (1) I am not actually enrolled in the course and just sit in it for fun and (2) I am missing two levels of prerequisites and do not fully understand the content.

CO 487 (W24) Applied Cryptography

Lecture notes until I stopped going.


Because it’s motivating or something, here’s a list of all of my mistakes. Hopefully it makes you feel better about yours. Thanks to everyone on the list who’ve helped me make this resource better for everyone :)

Errata corrige

  1. MATH135/EP04/RP04 Messed up basic arithmetic (Roy)
  2. MATH135/EP03/RP09 Rewrote completely incomprehensible proof (Gabriel)
  3. MATH135/EP03/RP05 Proved a there exists statement by exhausting the domain (Angela)
  4. MATH135/EP06/RP05 Got the divides relation backwards for an incoherent proof (Quan)
  5. MATH135/EP11/RP03(a) Forgot the quadratic formula for a moment (Caitlin)
  6. MATH135/EP08/RP05 Totally forgot a question entirely (Javin)
  7. MATH135/EP11/RP01 Obviously, 2 + 1 = -1 (sooshi)
  8. MATH135/EP10/RP15(b) Overcomplicated proof when it follows almost immediately from the previous question (sooshi)
  9. ECON120/Final (v1.0) Deadweight loss of monopoly is between MC and demand, not price and demand (Jimmy Zhan)
  10. ECON120/Final (v1.1) Wrong colour on tarriff supply and demand curves
  11. ECON140/Test 1 (v1.1) NX curve description under AE curve section, simple multiplier given as A/Y not Y/A (Trisha)
  12. MATH137/PA01/Q01(2) -4 - 2 = -2 (hyk)
  13. MATH135/EP01/RP02 Replace tuple notation with standard quantifiers
  14. MATH135/EP02/WE01 Duplicated truth table
  15. MATH135/EP01/RP02 Questions changed
  16. MATH135/MT2020W/Q02 Question copied wrong
  17. MATH135/MT2018F/Q05 Negated implication wrong (#7)
  18. MATH135/EP08/RP09 Applied CRT without checking pairwise coprimeness
  19. MATH135/EP06/RP01(b) Mistyped number (joseph)
  20. MATH135/EP06/RP03 Flipped the divisor \(d\) and the dividends \(x\) and \(y\) (joseph)
  21. MATH135/EP08/RP01 Fixed a substitution typo; the remainder should be 8, not 3 (Yuqiao)
  22. MATH135/EP06/RP09 Flipped the directional arrows of the proof (Vivek)
  23. MATH135/EP08/RPWE2 Should be \(4(-4) \equiv 5 \pmod{21}\) (Dan)
  24. MATH135/EP08/RP04 Can reduce \(x^{26}\) to \(x^2\) with CFlT – makes the table less fat (Dan)
  25. MATH135/FE2021W/Q03 Can’t apply FlT, since 10 is not prime (Dan)
  26. MATH135/FE2021W/Q08 7 - 1 = 8 (Dan)
  27. MATH135/FE2021W/Q010 Found counterexample (part a) and RHS is not the set of integers (part b) (Dan)
  28. MATH135/EP04/RP01(b) Another 0 = 1 typo (Evelina)
  29. MATH135/EP06/RP06 Factoring typo (Prasana, #18)
  30. MATH135/EP01/WE1(b) 28 + 3 = 25 (Imran, #20)
  31. MATH135/EP11/RP03(e) …another factoring typo (Linda, #24)
  32. MATH135/EP10/RP12 Wrong expansion of \((\cos\theta + i\sin\theta)^4\) (Jessica and Evelina)
  33. MATH135/EP10/RP15 Backwards divisibility notation (Linda, #25)
  34. MATH135/EP11/RP03 Did not fully factor quadratic (Jessica & Evelina, #26)
  35. MATH135/EP10/WE04 2 × 1 = 1 (Christina, #27)
  36. MATH135/EP09/RP01 Flipped digits in final answer (various, #28)
  37. MATH135/EP10/RP01 Lost a negative (various, #29)
  38. MATH135/FE2020W/Q07 Rooted modulus instead of squaring (Max)


Did you find a mistake? Reach out by opening a discussion on GitHub or by one of email, Facebook, Instagram, and Discord (@retrocraft).