logic
Logic, from zero
Propositions, proofs, and rigorous reasoning — the thinking layer beneath algorithms.
Start track →Statements, connectives, truth tables
Every program condition is a proposition; AND/OR/NOT and implication are the whole grammar of correct branching.Arguments, quantifiers, induction
Valid argument forms, ∀/∃, and induction — the exact tools that make loop invariants and recursion click.Sets and relations
A set is membership, nothing more: build sets, relate them, and see types and collections in code as sets with structure.Proof techniques
Four moves prove almost everything: direct chains, contrapositive flips, contradiction corners, counterexample kills — code review uses all four.Recursion and recurrences
A recursive definition is a base case plus a smaller-self rule; unroll the recurrence to count the work, induction proves it right.Combinatorial reasoning
Counting is two rules used carefully: multiply independent choices, add disjoint cases; pigeonhole and invariants finish the toolkit.Build with this track
Guided projects that exercise what you learn here.
CLI text tool
Build a small command-line tool that reads text from stdin or a file, transforms it (filter, count, slice), and composes with pipes — the Unix way, no framework.
Truth-Table Prover
Turn the logic you learned on paper into a working engine: parse a propositional formula into a tree, walk every assignment to build its truth table, and decide whether it is a tautology, satisfiable, or equivalent to another formula. Logic is where rigor becomes mechanical — and writing the machine that checks an argument is the surest way to understand why the argument holds. By the end you'll have a small but honest theorem checker that you trust because you built every step.
React, zero to senior
How React actually renders — reconciliation, state batching, effects, memoization — past tutorial level.