Every course
Four complete courses and three being written. All of them free and open source, with a machine and a quiz in every chapter.
Databases in Depth
How a database stores rows, finds them fast and keeps them through a crash: pages, B-trees and LSM-trees, the write-ahead log, transactions, replication, Paxos and Raft. Then you write PocketDB in Java.
Read chapter 1
RAG in Depth
Everything between a question and a grounded answer: chunking, embeddings, BM25, HNSW, IVF and product quantization, hybrid search, reranking, agents and graphs, and how to measure any of it. Then you build PocketRAG.
Read chapter 1
LLM in Depth
What a language model is, one layer at a time: tokenizers, attention and the block, pretraining and scaling laws, decoding and tool use, LoRA and DPO, quantization and serving, evaluation and security. Then you build PocketLM in Python and C.
Read chapter 1
DSA by Patterns
Data structures and algorithms as mechanisms, not recipes. Why two pointers touches each element once, why a hash table goes quadratic on chosen inputs, why knapsack is not polynomial. Every routine in Python and Java, tested against brute force.
Read chapter 1
Operating Systems in Depth
Processes, schedulers, virtual memory, file systems and the system-call boundary: the machine your programs run on.
Networking in Depth
From a voltage on a wire to HTTP/3: routing, congestion control, TLS, and why the internet works anyway.
Compilers in Depth
Lexers, parsers, type checkers, intermediate forms and optimisers: the road from source text to machine code.
Nothing matches that. Try a topic such as transactions, embeddings or TLS, or clear the search.
Want a course that isn't here? Open an issue on GitHub and say what it should cover.