STUDY NOTES
Most learning material optimizes for coverage or for speed. These notes optimize for understanding — the kind that survives after the exam, that lets you reason from first principles instead of pattern-matching half-remembered tricks.
Each subject is written as one continuous argument. Definitions are precise, derivations are shown in full, and every claim is something you can check. Nothing is waved away with “it can be shown that”.
The same care runs through every topic. A proof is written out, not gestured at; an algorithm arrives with the argument for why it is correct and how fast it runs — not just the code that happens to pass the tests.
From the formal limits of computation to the silicon underneath, each subject is treated rigorously — the same idea, chased from its definition all the way down to how a machine actually runs it.
Worked examples sit beside the theory, because intuition and rigor are not opposites. You watch an idea move in a concrete case before it is pinned down in symbols — and the symbols mean more once you have. You watch an idea move in a concrete case before it is pinned down in symbols — and the symbols mean more once you have.
Knowledge is built in layers: each idea rests on the ones beneath it. The notes make that structure explicit, so when something doesn’t click you can walk back down to the floor it stands on. You watch an idea move in a concrete case before it is pinned down in symbols — and the symbols mean more once you have.
Nothing here is filler. Every page is trying to make one more thing genuinely clear — and to leave you able to rebuild it yourself, not merely recall that you once saw it explained.
It won’t make a hard subject easy. It will make it legible — and a legible hard thing is one you can actually learn.
Subjects.
1 availableThe classic algorithms curriculum as one coherent course — divide & conquer, sorting, data structures, sequence & string techniques, graphs, greedy, dynamic programming, backtracking, number theory, computational geometry, and intractability.
Automata, formal languages, computability, and complexity — what can be computed, and how hard it is.
From logic gates to pipelines, caches, and memory hierarchies — how a machine actually runs your code.
Computational methods for physical systems — simulating cloth, hair, fluids, and structures in code.
The relational model, query languages, and what keeps data correct under concurrency and failure.
Neural networks, gradient descent, and how machines learn patterns too subtle to program by hand.