Courses
Throughout my time as a student, I have taken the following intersting courses (uninteresting courses have been omitted).
First Year
- MAT157 (analysis): Calculus from scratch, starting from axioms of ordered field satisfying least upper-bound property.
- MAT240/7 (linear algebra): vector spaces.
- CSC148 (programmming): basic python and how to think about recursion.
- CSC240 (intro to TCS): regular languages and how to prove programs correct.
- MAT327 (topology): topological spaces.
- MAT315 (number theory): natural numbers.
Second Year
- MAT257 (analysis): multivariable calculus and Stoke’s theorem on submanifolds of Rn
- MAT267 (ODE and stability): uniqueness and existence of solutions to ODEs.
- MAT309 (logic!): completeness and incompleteness of FOL, along with some model theory.
- MAT347 (algebra in the abstract): groups, rings, and modules.
- CSC265 (data structures): designing data structures is hard.
- CSC463 (computability/complexity): Turing machines.
- STA257 (probability): probability spaces.
Third Year
- MAT409 (set theory): Some basic set theory, infinite combinatorics, and something about forcing.
- MAT354 (complex analysis): holomorphic functions and a lot of poles.
- MAT482 (algebra/number theory in algorithms): Fast Fourier Transform and Rabin-Miller.
- MAT357 (real analysis): metric spaces and lesbegue integration on Rn.
- MAT367 (differential geometry): what a manifold is and how to integrate/differentiate on it.
- MAT495 (modern computational complexity): BPP and the PCP theorem.
- CSC373 (algorithms): greedy, dynamic programming, and approximation algorithms.
- CSC448 (formal languages and automata): context-free language and Turing machines.
- PHL354 (philosophy of math): Structualism, Quine, and fictionalism.
- CSC324 (programming languages): recursion and semantics of programming languages.
Fourth Year
- MAT457 (harder real analysis): measures, integration, some basic things about Banach spaces.
- CSC369 (operating systems): operating systems: memory management, file systems, scheduling.
- APM461 (combinatorics): probabilisitic method, linear algebra method, and brutally estimating quantities using concentration inequalities.
- MAT495 (model theory): back and forth constructions, daily application of the compactness theorem, stability theory.
Master’s
- PMATH646 (commutative algebra): modules, tensor products, localizations, Noether’s normalisation lemma, and other commutative ring jazz
- PMATH753 (functional analysis): Hilbert spaces, Banach spaces, Hahn-Banach
- PMATH950 (category theory and homological algebra): Categories, Ext and Tor and all that Jazz
- PMATH868 (Riemannian geometry): metric, riemannian manifold, bundles
- PMATH667 (algebraic topology): baby course covering simplicial homology and basic homotopy theory
- PMATH764 (algebraic geometry): Nullstellensatz, projective varieties, and self studied some basic sheaf theory