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


Quizlet flashcards are not mine: thank Imaad for them.

BU 111 (F2020 + F2022) Introduction to the Business Environment

Flashcards available for PEST factors and strategic expansion.

Complete notes for F2022 Midterm and Final by Sophia.

BU 121 (W2021) Functional Areas of the Organization

Flashcard sets for the whole course so far.

Study materials by Ace are also published before each assessment.

BU 288 (F2021) Organizational Behaviour

Another flashcard set for the two midterms and final exam.

BU 231 (S2022) 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 (F2022) Introduction to Marketing

Work in progress flashcard set by Imaad which will be updated throughout the term.

BU 354 (F2022) Human Resources Management

Likewise, a continuously-updated flashcard set by Imaad.


ECON 120 (F2020) 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.

ECON 140 (W2021) Introduction to Macroeconomics

I hastily put together an equation sheet after lecture on the 4th. Let me know if there’s mistakes.

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.

File Last Updated
Test 1 Cheat Sheet Feb 12, 8:20pm (version 2)
Test 2 Cheat Sheet Mar 19, 5:09pm (v2.0)
Exam Cheat Sheet Apr 20, 6:49pm (v0.1)

Might also be helpful: Will put together a compilation of sample algebraic solution processes.

Waterloo Faculty of Mathematics

Computer Science

CS 135 (F2020) Designing Functional Programs

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

File Complete? Notes
Module 11 Exercises :white_check_mark:  
Module 12 Exercises :white_check_mark:  
Module 13 Exercises :white_check_mark:  
Module 14 Exercises :white_check_mark:  
Module 15 Exercises :white_check_mark:  
Module 16 Exercises :white_check_mark:  

CS 245 (F2021) Logic and Computation

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

CS 341 (S2023) Algorithms

My lecture notes are available, taken live during lecture. I will try and format for publishing weekly.

CS 350 (S2023) Operating Systems

Lecture notes.


MATH 135 (F2020) 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.

File Complete? Notes
Extra Practice 1 :white_check_mark:  
Extra Practice 2 :white_check_mark:  
Extra Practice 3 :white_check_mark:  
Extra Practice 4 :black_large_square: Missing C02.
Extra Practice 5 :white_check_mark:  
Extra Practice 6 :black_large_square: Missing C03/05/06. RP09 by sooshi.
Extra Practice 7 :black_large_square: Missing C01
Extra Practice 8 :white_check_mark:  
Extra Practice 9 :white_check_mark:  
Extra Practice 10 :black_large_square: Missing C02. RP10 by sooshi.
Extra Practice 11 :black_large_square: Missing C01
Fall 2018 Midterm :white_check_mark:  
Fall 2019 Midterm :white_check_mark:  
Winter 2020 Midterm :white_check_mark:  
Winter 2020 Final :white_check_mark:  

MATH 136 (W2021) Linear Algebra I for Honours Mathematics

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

MATH 137 (F2020) Calculus I for Honours Mathematics

File Complete? Notes
Practice Assignment 1 :white_check_mark:  
Practice Assignment 2 :white_check_mark:  
Practice Assignment 3 :white_check_mark:  
Practice Assignment 4 :white_check_mark:  
Practice Assignment 5 :white_check_mark:  
Practice Assignment MT :white_check_mark: Posted as Practice AssignMT on LEARN
Practice Assignment 6 :white_check_mark:  
Practice Assignment 7 :white_check_mark:  
Practice Assignment 8 :white_check_mark:  
Practice Assignment 9 :white_check_mark:  
Practice Assignment 10 :white_check_mark:  
Practice Assignment FE :white_check_mark:  
Practice Midterm 1 :white_check_mark: Posted as midterm_practice on LEARN
Practice Final F2019 :white_check_mark:  

MATH 138 (W2021) Calculus II for Honours Mathematics

A collection of theorems can be found here.

Jimmy has notes for series and Taylor series.

MATH 146 (W1989) 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). I have no idea if anyone at all would find these useful, but here are my solutions so far. Note that I use the notation from the book, which might hurt when MATH 136 starts.

MATH 239 (F2022) 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 F2020 and Part II S2018 course notes). Progress:

Chapter Complete? Notes
Ch. 1 (Basic Principles) :white_check_mark:  
Ch. 2 (Generating Series) :black_large_square: Missing 2.8, 2.13(b)-(c), 2.16-21
Ch. 3 (Binary Strings) :black_large_square: Missing 3.13(b), 3.14(d)
Ch. 4 (Recurrence Relations) :black_large_square: Missing 4.10-12
Ch. 4 (Graph Theory Intro.) :black_large_square: Missing 4.4.9-10, 4.4.12, 4.5, 4.6.2-3, 4.6.10
Ch. 5 (Trees) :black_large_square: Missing 5.3.2, 5.4, 5.5
Ch. 6 (Codes) :x:  
Ch. 7 (Planar Graphs) :black_large_square: Missing 7.4, 7.6.1, 7.6.7-13, 7.8
Ch. 8 (Matchings) :black_large_square: Missing 8.2.7-17, 8.3, 8.6, 8.8

Pure Math

PMATH 348 (S2023) 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.

Combinatorics and Optimization

CO 485/685 (F2022) 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.


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).