Methods of Proof
Abstract Algebra
- Linear Algebra
 - Inner Product Spaces
 - Groups (motivations, basic definitions, homomorphisms, quotient groups)
 - Groups (first isomorphism theorem, presentations, classification theorem, free products)
 - Rings (basic definitions, zero-divisors, units, examples)
 - Rings (homomorphisms, ideals, quotients)
 - Tensor Products
 - Outer Products
 - Fields (mostly finite fields)
 
Fourier Analysis
- The Fourier Series
 - The Fourier Transform
 - Generalized Functions and Tempered Distributions
 - The Discrete Fourier Transform
 
Discrete Math
- Graph Theory (for the math-phobic)
 - Graph Coloring
 - Trees and Tree Traversal
 
Computing Theory
- Determinism and Finite Automata
 - Turing Machines
 - Big-O Notation
 - Busy Beaver Numbers
 - P vs. NP (And a Proof Written in Racket)
 - Other Complexity Classes
 - NP-hard does not mean hard
 - Kolmogorov Complexity
 - Information Distance
 - Parameterized Complexity of Vertex Cover and Kernelizations
 - Communication Complexity
 - A Zero-Knowledge Proof for Graph Isomorphism
 
Coding Theory
Probability and Statistics
- Finite Probability Theory
 - Conditional Probability
 - Probabilistic Bounds (Markov, Chebyshev, Chernoff-Hoeffding)
 - Martingales and the Optional Stopping Theorem
 - Markov Chain Monte Carlo
 
Learning Theory
- Probably Approximately Correct – A Formal Theory of Learning
 - A problem that’s not properly PAC-learnable
 - Occam’s Razor and PAC-learning
 - The Boosting Margin, or Why Boosting Doesn’t Overfit
 
Topology
- Metric Spaces
 - Topological Spaces (motivations, basic definitions, and examples)
 - Constructing Topological Spaces (subspaces, quotients, and gluing)
 - The Fundamental Group
 - Homology (definitions and examples)
 
Programming framework tutorials
- MLIR for Beginners
- Getting Started
 - Running and Testing a Lowering
 - Writing our First Pass
 - Using Tablegen for Passes
 - Defining a new Dialect
 - Using Traits
 - Folders and Constant Propagation
 - Verifiers
 - Canonicalizers and Declarative Rewrite Patterns
 - Dialect Conversion
 - Lowering Through LLVM
 - A Global Optimization and Dataflow Analysis
 - Defining Patterns with PDLL
 
 - Integer Set Library (ISL) - A Primer
 
Programming Language tutorials
- A Dash of Python
 - A Pinch of Python (Random Psychedelic Art)
 - A Spoonful of Python (and Dynamic Programming)
 - A Taste of Racket, or How I Learned to Love Functional Programming
 - A Sample of Standard ML (the TreeSort algorithm, and Monoids)