What’s one thing you learned? What’s still confusing?
Welcome to AI
What is AI? What is machine learning? Start your journey here — no experience needed.
What is SQL? Your First Query
Understand what databases are, why SQL matters, and write your first SELECT query. See results instantly in the built-in SQL playground.
Vectors & Spaces
Understand vectors as geometric objects with direction and magnitude, and learn how vector spaces form the foundation of ML data representation.
Interactive Labs for This Track
Loop Visualizer
You're a factory robot repeating the same task on an assembly line — watch how loops automate repetitive work
List Slicing
You have a playlist of 50 songs — grab just tracks 10 through 20 with a single slice expression
Sorting Algorithms
You're organizing a library of 10,000 books — which sorting method is fastest?
Ask questions, share insights
Three tiers, in pedagogical order:
Concept
Concept
Concept
Python's variables are NAMES bound to OBJECTS, not boxes holding values. Once you see it that way, most beginner confusion about assignment and mutation goes away.
for actually doesfor x in xs is sugar over the iterator protocol. Watching the iterator protocol explicitly demystifies generators, custom iterables, and lazy evaluation later.[expr for x in xs if cond] looks compressed but it's just a for-loop on a conveyor. Watching items pass through the filter and transform makes the syntax click.Every function call pushes a stack frame. Frames hold locals. Returns pop frames and bubble values back. Exceptions unwind frames without returning. Once you can see frames push and pop, recursion stops being magic.
print(x), Python searches Local → Enclosing → Global → Built-in. Pulse-through the rings to see which scope x resolves from — and what nonlocal and global actually change.with)with is not just for files. It's the guaranteed-cleanup pattern — __enter__ runs, body runs, __exit__ runs even on exception. This is the reason production Python doesn't leak resources.@timer wraps a function. Stack three decorators and the wrapping happens bottom-up at definition time, but the control flow at call-time descends top-down. Cache hits short-circuit. Once this clicks, Flask routes and Django decorators stop feeling like magic.Every Python dict is a hash table with open addressing. When two keys collide on the same slot, Python probes for the next empty one. At 2/3 full, the table doubles and rehashes everything. Understanding this explains O(1) lookups and the worst-case O(n) failure modes.
a.ref = b; b.ref = a defeat refcounting — that's why Python needs gc.collect(). Watch it sweep.awaits, it YIELDS control back. Three tasks doing await sleep(1) finish in ~1 second total, not 3 — because their sleeps overlap during the loop's idle window. Watch it happen.match / case is structural pattern matching. It destructures tuples, dicts, classes. Captures bind variables. Guards filter.class D(B, C) and both B and C inherit from A, calling D.method() is ambiguous. Python uses C3 linearization to pick a consistent method resolution order. The diamond problem, and the algorithm that solves it, animated step by step.__get__, __set__, or __delete__. It powers @property, classmethod, ORM fields, and validation. The lookup algorithm has subtle rules — data descriptors beat instance __dict__ beats non-data descriptors. Watching the pointer descend through the rules makes one of Python's deepest features click.Python source compiles to bytecode for a stack machine. Every operation pushes and pops the evaluation stack. Once you can read bytecode, performance traps stop being mysterious — and so do generators, async, and exceptions, all of which are visible at the bytecode level.
| Recommended path | |
|---|---|
| Total beginner (30 days) | Variables → Loops → Comprehensions → Stack → Scope → Context Managers → Decorators → Dicts → Memory |
| Coding interview prep (1 week) | Stack → Recursion → Hash Collisions → MRO → Bytecode (for the curious) |
| Backend / web developer (2 weeks) | Context Managers → Decorators → Async/Event Loop → GIL → Pattern Matching |
| ML / data engineer (1 week) | Comprehensions → Memory Model → GIL (for parallelism) → Descriptors (for ORMs) → Bytecode (for perf) |
| Senior Python deep dive (full track) | All 14 — start at Tier 1, finish at Bytecode and Descriptors |
Some concepts are sequential: call stacks, async loops, hash insertions, refcounting. A static diagram hides the dynamics, and a video locks you to one pace with no way to scrub.
prefers-reduced-motion, has captions, and is keyboard navigable. Because they render as text and SVG rather than pixels the page stays fully searchable, and when Python 3.14 changes something the fix is an edit to a TSX file rather than a re-recording.