Programming Foundations
The building blocks every system is made of, and how fast they run.
variablestypesfunctionscontrol flowdata structuresalgorithmsclassesmodulesexceptionsasyncconcurrencyBig O
Lessons
- 1.1Types, functions and control flowVariables, types and functions aren't just syntax. They're your first tools for catching bugs before a guest ever sees them. 30 min
- 1.2Data structures: choosing by the operations you needLists, maps, sets, trees and queues each make some jobs quick and others slow. Pick by what you'll do most, and one line of code can be 1,000 times faster. 30 min Search race: O(n) vs O(log n) Index visualizer
- 1.3Big O intuition: how code slows down as data growsNo maths anxiety needed. Big O is just a way to ask: when the data grows 10 times, how much more work does my code do? 30 min Search race: O(n) vs O(log n) Index visualizer
- 1.4Async and concurrency: doing many things while waitingA server spends most of its life waiting. Async code lets it serve other people during that wait, and that's how one thread handles thousands of requests. 30 min Event loop visualizer
- 1.5Errors and exceptions: failing loudly, safely and usefullyAn error is a message: something didn't happen, and here's why. Good handling makes sure that message reaches someone who can act on it. 30 min Retries, backoff and circuit breakers
On the job: try it on your own project
Ask Claude Code to find the three functions in your codebase that loop over the most data, and to explain each one's Big O in plain words. For each, write one line: fine at today's size, or will hurt at 10x. Also ask it to list places where errors are swallowed or await is missing. Save the list as a short review note for your team.
Can you do this now?
0/4. Anything you can't tick yet: reopen that lesson's practice ladder.