Online Courses

Ones for which I’ve completed a significant portion and really enjoyed.


The ones I’ve taken so far at the University of Toronto.

Third Year

Second Year

  • MAT257: Analysis II (Edward Bierstone)
    • Closely follows Michael Spivak’s Calculus on Manifolds. Topics included topology, the implicit function theorem, measure theory, partitions of unity, differential forms, culminating in Stokes’ Theorem on manifolds.
  • MAT267: Advanced Ordinary Differential Equations (Mary Pugh)
    • Covered some analysis to show existence and uniqueness theorems for ODEs, then switched to a dynamical systems perspective including phase plots, Lyapunov functions, stability of solutions, and bifurcations.
  • STA257: Probability and Statistics I (Mark Ebden)
  • CSC209: C & Systems Programming (Michelle Craig)
  • CSC265: Enriched Data Structures and Analysis (Aleksandar Nikolov)
    • In addition to standard data structures and algorithms, this course covered adversary arguments to prove lower bounds on problem complexity, and the potential method for analyzing amortized complexity.
  • CSC373: Algorithm Design, Analysis & Complexity (François Pitt)
  • CSC411/2515: Machine Learning and Data Mining (Roger Grosse)
    • Focus on using a mathematical framework to understand classical algorithms leading to principled generalizations (e.g. k-means to EM algorithm, regularization as MAP estimation).
  • CSC412/2506: Probabilistic Learning and Reasoning (Jesse Bettencourt)
    • Independence relationships in Bayesian networks via d-separation, as well as inference and learning in other probabilistic graphical models. Focus on variational inference in latent variable models, in particular implementing a VAE from scratch.
  • CSC421/2516: Neural Networks and Deep Learning (Roger Grosse)
    • Modern deep learning research, in particular implementing attention mechanisms in a Transformer, and implementing a CycleGAN.
  • CSC2541: Machine Learning for Health (Marzyeh Ghassemi)
    • A graduate seminar course looking at research into applying machine learning in the clinic, with major project and problem set components.

First Year

  • MAT240: Algebra I (Eckhard Meinrenken)
  • MAT247: Algebra II (Stephen Kudla)
  • MAT157: Analysis I (Joe Repka)
    • Closely follows Michael Spivak’s Calculus. This course was my first introduction to pure math, and is particularly known for rigorously constructing the real numbers using dedekind cuts in the first month.
  • CSC148: Introduction to Computer Science (David Liu)
  • CSC165: Mathematical Expression and Reasoning for Computer Science (Danny Heap)
  • CSC207: Software Design (Lindsey Shorser and Jaisie Sin)
  • CSC240: Enriched Introduction to Theory of Computation (Faith Ellen)
    • The most challenging course I’ve taken. Heavy emphasis on problem-solving techniques and thinking deeply combined with rigorous proofs (including formal proofs.)
  • CCR199: Common Humanity (John Noyes)
    • A small seminar course looking at the idea of common humanity throughout history, with a particular focus on Apartheid in South Africa.
  • LTE199: Biotechnology and Society (John Coleman)
    • A small seminar course looking at the potential impact of various biotechnologies such as CRISPR-Cas9 and paradigms such as personalized medicine.