๐ป
Computer Science
From first principles to full stack.
The fundamentals that don't go out of date โ starting with the logic and set theory that give you a precise language for thinking โ plus the practical craft of full-stack web development and network engineering.
Logic & Sets
A precise language for saying exactly what you mean โ and the one your code already speaks.
- Propositional logic: the algebra of true and false How propositions and the connectives ยฌ, โง, โจ, โ and โ turn everyday reasoning into an algebra your code already runs. โโโโโ 18 min
- De Morgan's laws & simplifying conditions How to negate a compound condition correctly, and why "not (x and y)" is never "not x and not y". โโโโโ 16 min
- Sets and set operations Unordered collections of distinct things, and the operations โ union, intersection, difference โ your database already runs. โโโโโ 18 min
- Quantifiers: for all, there exists How โ and โ turn open predicates into claims with truth values, and why the order you write them in changes the meaning. โโโโโ 18 min
- Relations & functions Ordered pairs, Cartesian products and relations โ and how the extra condition that makes a relation a function underlies every lookup you write. โโโโโ 20 min
- Valid reasoning & common fallacies Validity versus soundness, the proof patterns that actually establish things, and the argument forms that only look like they do. โโโโโ 20 min
Fundamentals
Data, algorithms and how machines actually work.
- Big-O notation How Big-O describes the growth rate of an algorithm's cost as input size scales. โโโโโ 15 min
- Hash tables How hash tables map keys to buckets for fast average-case lookup, and how they cope with collisions. โโโโโ 16 min
- Binary search & binary search trees How binary search finds items in sorted data in logarithmic time, and how binary search trees keep data ordered. โโโโโ 17 min
Software Engineering
The practices that keep code working as it grows โ and as the team does.
- Version control with Git How Git models history as snapshots in a graph, why branches are cheap pointers, and how merge, rebase and good commits keep history useful. โโโโโ 18 min
- Testing strategies Unit, integration and end-to-end tests, test doubles, TDD, flaky tests, and what coverage really measures. โโโโโ 20 min
- Refactoring & code smells Restructuring code without changing its behaviour: small safe steps under tests, recognising common smells, and knowing when to stop. โโโโโ 18 min
- Design principles: SOLID and beyond Cohesion and coupling as the core idea behind SOLID, DRY, YAGNI, composition and deep modules, and how these principles get misapplied. โโโโโ 22 min
- System design fundamentals Scaling, load balancing, caching, replication, sharding, queues and an accurate CAP theorem: the core trade-offs of building systems that grow. โโโโโ 22 min
- CI/CD and deployment Continuous integration, delivery vs deployment, trunk-based development, feature flags, safe release strategies and the four DORA metrics. โโโโโ 18 min
- Observability: logs, metrics and traces What logs, metrics and traces are each good for, structured logging, distributed tracing, SLOs with error budgets, and symptom-based alerting. โโโโโ 18 min
- Technical debt & architecture decisions Cunningham's debt metaphor and its misuse, deliberate vs accidental debt, ADRs, monoliths vs microservices, and Conway's law. โโโโโ 18 min
Full-Stack Web
Building and shipping real web applications.
- HTTP request & response The anatomy of HTTP requests and responses, including methods, status codes, headers, and statelessness. โโโโโ 16 min
- REST API design Principles of REST API design including resources, verb-to-CRUD mapping, status codes, statelessness, and idempotency. โโโโโ 18 min
- SQL fundamentals The relational model and core SQL operations including SELECT, WHERE, JOIN, GROUP BY, and keys. โโโโโ 18 min
Network Engineering
How packets get from here to there.
Related reading
Books from the shelf that go deeper on this.