//dcc
One-on-one coaching · USACO Bronze → Gold

A patient, individualized way to get good at competitive programming.

I work with high-school students who want to take USACO seriously. We build a plan together: weekly sessions, homework that names its problem, and results tracked problem by problem. Inside that plan, every session starts from your actual stuck moments. The demos on this page are the real labs we use, and they're yours to poke.

Schedule a free introduction → $110 / 60 MIN · $140 / 90 MIN · NOTES INCLUDED
LIVE DEMO · 01
Social Distancing · USACO 2020 Open · Silver P1 Binary search the answer
It drives itself until you click. Then every control is real - this is the lab's actual stage, not a video of one.
Playable demos · 8 live on this page · from a library of 20 labs
APPROACH · INTERACTIVE LEARNING

Don't read the solution. Poke it.

Every lab is a real past contest problem rebuilt as something you can push on: drag the input, break it, watch the algorithm answer back - then replay the intended solution one forced step at a time. Each demo below is a lab's actual stage, driving itself until you touch it. No account, no setup.

Lab 01 Wormhole Sort · USACO 2020 Jan · Silver P3 Binary search · Union-find
Lab 02 The Best Lineup · USACO 2025 Feb · Silver P1 Greedy · Suffix maxima
Lab 03 Target Practice II · USACO 2024 Feb · Silver P1 Greedy · Binary search
Lab 04 Potion Farming · USACO 2024 Jan · Silver P2 Trees · Greedy matching
Lab 05 Bubbly Troubly · 2016 ECNA · Problem A Geometry · Event simulation
Lab 06 Cow Checkups · USACO 2025 Jan · Silver P1 Counting · Contributions

The whole library

20 LABS · 10 WITH A PUBLIC DEMO · HANDED OVER ONE AT A TIME, AFTER YOU'VE HAD YOUR GO
The Best Lineup demo
2025 FEB · SILVER · P1 - GREEDY · SUFFIX MAXIMA
Balancing Bacteria
2024 JAN · BRONZE · P3 - GREEDY · FORCED DECISIONS
Hoof, Paper, Scissors
2017 JAN · SILVER · P2 - PREFIX SUMS · COUNTS
Wormhole Sort demo
2020 JAN · SILVER · P3 - BINARY SEARCH · UNION-FIND
Bessie's Interview
2024 OPEN · SILVER · P1 - PRIORITY QUEUE · GRAPH REACHABILITY
Swapity Swapity Swap demo
2020 FEB · SILVER · P1 - PERMUTATIONS · CYCLES
Social Distancing demo
2020 OPEN · SILVER · P1 - BINARY SEARCH · GREEDY
Deforestation
2024 DEC · SILVER · P2 - GREEDY · INTERVALS
2D Conveyor Belt
2024 DEC · SILVER · P3 - GRAPHS · REVERSE BFS
Cow Checkups demo
2025 JAN · SILVER · P1 - COUNTING · CONTRIBUTIONS
Farmer John's Favorite Operation
2025 JAN · SILVER · P2 - MODULAR ARITHMETIC · PREFIX SUMS
Range Reconstruction
2022 DEC · SILVER · P3 - CONSTRUCTIVE · INVARIANTS
Target Practice
2023 DEC · SILVER · P3 - SIMULATION · ONE CHANGE
Target Practice II demo
2024 FEB · SILVER · P1 - GREEDY · BINARY SEARCH
Rectangular Pasture
2020 DEC · SILVER · P2 - COUNTING · 2D PREFIX SUMS
Bubbly Troubly demo
2016 ECNA · PROBLEM A - GEOMETRY · EVENT SIMULATION
Potion Farming demo
2024 JAN · SILVER · P2 - TREES · GREEDY MATCHING
Sequence Construction
2025 OPEN · SILVER · P1 - BITWISE · PARITY
Following Directions
2023 JAN · SILVER · P2 - GRIDS · CONTRIBUTION COUNTING
Vocabulary Quiz demo
2025 FEB · SILVER · P2 - TRIES · REVERSE TIME
Topic walkthroughs · 3 so far
APPROACH · BUILD ON INSIGHTS

One idea, built up until it's obvious.

Labs are for problems; walkthroughs are for techniques. Each one builds a technique from scratch with live widgets embedded mid-explanation - and ends with the contest problems it cracks. On the right: the widget at the heart of prefix sums, lifted straight out of its walkthrough.

Prefix Sums
FOUNDATIONS · RANGE QUERIES
Binary Search
FOUNDATIONS · MONOTONE SEARCH
Edit Distance
DYNAMIC PROGRAMMING · GRID
Live · from the prefix-sums walkthrough
drag the l and r handles · shuffle the values · one subtraction answers any range
The shared whiteboard
APPROACH · INTERACTIVE LEARNING

We draw. The board does the bookkeeping.

Every session runs on a live shared board - we both draw at once. But a clean 9-node trie costs three minutes by hand and three seconds by generator: type the input, get the figure, spend the minutes on the thinking. And because the board knows what it drew, the figure carries its own runners: step a sort through that array, flood BFS layers across that graph, pop that heap - animated on the drawing, not narrated beside it. Boards are saved and linked from that week's session notes, so "the picture from Tuesday" is never lost.

Binary treeN-ary treeGraphLinked list1D array2D arrayStack / queueNumber lineTrieCall / recursion treeHeapState machineBar chartVenn diagramBinary representationXY planeScatter plot
17 FIGURE GENERATORS · ONE LINE OF INPUT EACH · INSERTED AS EDITABLE DRAWINGS
Runners · what a figure can do because of what it is
1D array · bar chart
bubble, insertion, selection, merge & quick sort · binary search (lo/mid/hi) · two pointers · sliding window · prefix sums · diffs
Graph
BFS layers · Dijkstra · degrees · relayout (circle, grid, layered, force)
Binary tree
pre / in / post / level-order · height, depth & subtree size · balance check
Heap
push · pop · min/max property check with the violation lit up
2D array
unique paths · min path sum · spiral order
Trie · call tree · linked list · stack / queue · state machine · number line · binary
word counts & depth · call counts & returns · slow/fast pointers · push/pop · transitions · marks · AND / XOR / popcount / n & (n−1)
Recording · the board in a sessionTHE BOARD ITSELF IS IN-SESSION
Recording · the board in a session · 0:32 · an outline becomes a call tree · fib(4) runs on it with the call stack and memo table

Seven lines of indented text become the call tree; then the run plays through it, pushing and popping the call stack and filling the memo table as repeats are found.

Between sessions · homework & progress
SAMPLE DATA APPROACH · CELEBRATE SUCCESS

Progress you can point at.

Every student has a dashboard. Homework hangs off the session it came from, with a status and a note on how it went. Contest results sit problem by problem. LeetCode solves sync in, with a paste-import for the history sync can't see. So "how is it going?" has an answer you can open, and parents see the same view, plus a printable weekly report.

Contest results
problem by problem →
contestp1p2p3
USACO Dec 2025
Silver
AC 12:40
6/10 upsolved
WA ·
USACO Jan 2026
Silver
AC 08:12
AC 41:03
8/10 drill set
USACO Feb 2026
Silver
AC 22:05
TLE upsolve next
- ·
Homework · from Tuesday's session
done
Upsolve Dec P2 - full constraints
"prefix sums clicked after the walkthrough"
partial
Social Distancing - pass the N ≤ 10⁵ cases
"greedy check right, D search off by one"
to do
Three binary-search drills
EACH ITEM NAMES ITS PROBLEM · THE LAB OPENS ONCE YOU'VE HAD YOUR GO
Leetcode
137
58·61·18
+6 last week · paste-import backfills history
Also on the dashboard
Topic mastery - fluent · learning · started
Session notebook - every board and note, by week
Weekly report - printable, for parents

“We don't memorize templates. We build the instinct to notice when a problem wants a template.

DAVID POESCHL · CODING COACH INTERVIEWS · USACO · AP CS DAVIDCODINGCOACH.COM