Throughout my time as a student, I have taken the following intersting courses.

First Year

  • MAT157: Calculus from scratch, starting from axioms of ordered field satisfying least upper-bound property.
  • MAT240/7: Vector spaces.
  • CSC148: Basic python and how to think about recursion.
  • CSC240: Regular languages and how to prove programs correct.
  • MAT327: Topological spaces.
  • MAT315: Natural numbers.

Second Year

  • MAT257: Multivariable calculus and Stoke’s theorem on submanifolds of Rn
  • MAT267: Uniqueness and existence of solutions to ODEs.
  • MAT309: Completeness and incompleteness of FOL, along with some model theory.
  • MAT347: Groups, rings, and modules.
  • CSC265: Designing data structures is hard.
  • CSC463: Turing machines.
  • STA257: Probability spaces.

Third Year

  • MAT409: Some basic set theory, infinite combinatorics, and something about forcing.
  • MAT354: Holomorphic functions.
  • MAT482: Fast Fourier Transform and Rabin-Miller.
  • MAT357: Metric spaces and Lesbegue integration.
  • MAT367: What an abstract manifold is and how to integrate/differentiate on it.
  • MAT495: BPP and the PCP theorem.
  • CSC373: Greedy, dynamic programming, and approximation algorithms.
  • CSC448: Context-free language and Turing machines.
  • PHL354: Structualism, Quine, and fictionalism.
  • CSC324: Recursion and semantics of programming languages.

Fourth Year

  • MAT457: Measures, integration, some basic things about Banach spaces.
  • CSC369: Operating systems: memory management, file systems, scheduling.
  • APM461: Probabilisitic method, linear algebra method, and brutally estimating quantities using concentration inequalities.
  • MAT495: Back and forth constructions, daily application of the compactness theorem, stability theory.