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