As a fair warning to the reader, these primers are a bit more terse than what you’d find in your average textbook. I only introduce the bare minimum required to understand the main content posts, so there are carefully chosen gaps whose exclusion is necessary for time’s sake. If the reader is confused about something, or wants a deeper explanation of a concept we deliberately leave out, feel free to leave a comment asking about it and we will do our best to fill in the gaps.

**Methods of Proof**Direct Implication

Contrapositive

Contradiction

Induction

Diagonalization

**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**A Proofless Introduction to Information Theory

Hamming’s Code

The Codes of Solomon, Reed, and Muller

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

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

**Miscellaneous**

Set Theory, Countability

Number Theory

Lagrangians for the Amnesiac

Hi,

I’m impressed. Good introductions to difficult topics. Especially I liked your article about psychodelic pictures or about search engines (Once I developed a search engine myself).

Wish you the Best for the New Year and a lot more of your articles

Thomas Nitsche

Thanks Jeremy!

i love this post! thanks a lot!

Awesome!

2 comments:

What I learned as discrete math in cs classes is what you have here as miscellaneous, and what you have under discrete math I learned under topologies

Second, is it possible to get all the topics in one big pdf? what is your licensing on the content?

Well number theory and set theory are not particularly discrete in nature, at least as they occur in mathematics.

I don’t have all the topics in one big pdf. The licensing on my blog is Creative Commons non-commercial, so you’re welcome to assemble one and distribute it, as long as you give attribution and don’t sell it.

Wow, great post/resource!

would pomax.github.io/bezierinfo (primer on bezier curves) be a userful link here?

This looks like a very great and in-depth tutorial. I am coincidentally just finishing up my own (less detailed) Bezier curve tutorial! I’ll be sure to link to this one in that post.

This is a wonderful blog! You have a fantastic writing style and I especially liked the graph theory post. I remember how much I struggled to explain the Seven Bridges of Konigsberg problem to my sister, and after reading your post about it I feel like exclaiming to the world the wonders of graph theory.

Brilliant! I love it — reminds me of Dijkstra!

Very interesting mathematics and solutions. Well done!

Love it. It reminds me university times! Thank you.

rediculas its good

Some of the left-hand text gets cut off on my 7″ tablet. 🙁

Other than that, I really like this blog, the content is absolutely AWESOME.

Just wanted to say that.

These are useful things written very clearly and beautifully. Thank you

I included this website web page to our feed reader, exceptional things. Are not able to get enough!

Hello Jeremy, I’ve always liked your primers. Are you thinking of making any primer on Combinatory Logic?

Dude, you’re the best. This is the best blog I’ve seen

Kalman filters would be keen, from your perspective

Dude, thank you!