Big-O in Real Code
Move beyond counting simple loops to evaluate hidden runtime costs, memory overhead, and algorithmic tradeoffs in production software.
Like Duolingo, but for Big-O in Real Code. Tomo turns the whole topic into a game you play five minutes a day, until it actually sticks.
A short one: 10 levels across 2 sections, about 20 minutes end to end, roughly 4 days at five minutes a day. It moves through Auditing Complexity Beyond Obvious Loops and Complexity Under Real-World Constraints. It assumes you already know the basics.
Free forever · No credit card · iPhone & Android

Key ideas in Big-O in Real Code
- Standard library conveniences mask full linear iterations behind concise syntax.
- Unsorted array membership scans elements sequentially, costing O(N) hidden time.
- N loop passes executing an inner O(N) library call combine into O(N²) overall time.
- Sequential passes over independent inputs sum their sizes into O(A + B).
- Nested passes across independent collections multiply their inputs into O(A · B).
- Combining distinct inputs into a single N obscures which input drives bottlenecks.
- Big-O notation conventionally benchmarks execution against worst-case scenarios.
- Early breaks improve average or best-case speed but do not lower worst-case bounds.
- When the target item is last or absent, the loop still executes O(N) iterations.
- Total costs require identifying unlisted hidden library iterations first.
- Combining hidden inner steps yields an unsimplified multi-term runtime expression.
- Dropping non-dominant terms and coefficients happens only on the final expression.
- Recursive time complexity scales with the total invocation count across the call tree.
- Auxiliary space complexity reflects only the deepest simultaneous chain of stack frames.
- Resolved recursive branches pop off the stack, freeing memory before adjacent branches execute.
- A constant branching factor of two doubles total calls at every downward level of the tree.
You've tried the other tabs
Thirty open tabs. Four facts you actually kept.
You watched. You nodded. By Sunday it was gone.
One answer, then back to scrolling.
Eight weeks. You meant to finish. You didn't.
Tomo gives Big-O in Real Code the Duolingo treatment: levels, streaks, and quick quizzes that test what you just learned. That game loop is what the tabs above never had, so it's the one you actually finish.
Here's what playing it feels like
A real question from this course. Take your best guess.
You check if a value exists in an unsorted array of size N. What is the hidden cost of this membership check?
Get it right to open this lesson and 9 more in the app.
Where Big-O in Real Code takes you
- 1
Auditing Complexity Beyond Obvious Loops
- Spotting Hidden Costs in Standard Library Calls
- Mapping Call Stacks and Tree Depth
- 2
Complexity Under Real-World Constraints
- Evaluating Amortized Costs and Memory Tradeoffs
- Navigating Asymptotics Versus Hardware Reality
2 sections · 4 units · 10 levels. Built to play, not to enroll.
Tomo is in ChatGPT
Tomo is also a ChatGPT plugin: the same playable courses, built and played inside your chat.
Add Tomo to ChatGPT- What to ask
- “Make me a Tomo course on black holes.” “Turn this chat into a Tomo course.”
- What you get
- Quick questions with instant feedback, hearts and stars, ready to play in about a minute.
- Where it goes
- No sign-up to start. Connect your Tomo account and your streak carries on in the app.
You pick the voice
Big-O in Real Code is taught in the The Bestie style: your friend who just gets it. Want a different feel? In the app you can spin up the same topic in any of Tomo's teaching styles. Same facts, totally different vibe.
More Technology on Tomo
Core Computer Science
Bridge the gap between writing basic scripts and understanding real computing systems. Explore how algorithms scale, how operating systems manage memory, how concurrency works, and the physical limits of computation.
C++: Foundations and Pitfalls
Build a robust mental model of C++ from your first program to complex systems. Uncover the subtle language traps and memory quirks that catch even experienced programmers.
How Code Builds the World
See how the world's most popular programming languages work together like a construction crew to build the apps and websites you use every day.
Real-World Circuit Behavior
Bridge the gap between theoretical schematics and functioning physical hardware. Learn how to diagnose live signals on a scope, stabilize op-amp circuits, and eliminate insidious board noise.
How Electrical Circuits Work
Demystify electricity by building, measuring, and troubleshooting real circuits. Learn how voltage, current, and resistance interact to power everyday devices safely.
Probabilistic Machine Learning
Move beyond single-number guesses by modeling uncertainty directly. Learn to output full predictive distributions, separate data noise from model ignorance, and infer hidden structures.
Start Big-O in Real Code today.
Download Tomo, search Big-O in Real Code, and play your first lesson in under a minute.