timed-drill

Make hand-written code a habit in the age of AI.

25 minutes a day, no AI in the room, graded after you submit.

25-minute clock · no hints · leaving the window or pasting a large block is recorded, not blocked

One purchase, four tracks 4 tracks · 929 problems · yours for good

Python

758 problems

SQL

68 problems

Pandas

55 problems

PySpark

48 problems

One payment opens all four, for good. Java is not part of this — it will be sold separately when it ships.

What grading looks like
SOFT

The code is correct, but the approach is an order slower than optimal (measured O(n), optimal here O(log n))

Test cases
20 passed / 0 failed (of 20)
Time taken
11.4 min
How fast the approach is
Measured O(n) · optimal O(log n) · an order slower
Session record
Never left the window, no large pastes detected

Every test passed — and it still did not pass. That is the second check.

And what the review says afterwards

Pattern

Filter, aggregate duplicate visits, left-join member totals, then apply a two-key sort. Your graded approach matches the required pattern.

Where it went sideways

Scratch cell 2 grouped only observed kept rows and did not visibly account for missing fees or members with no qualifying rows. Re-running that exploratory expression four times did not expose those edge cases; the final cell corrected them with numeric coercion, default totals, and the required output ordering.

Go look at

Outer-join aggregation exercises involving null values, empty inputs, unmatched entities, and deterministic multi-column sorting.

A real review, word for word. It reads the whole notebook — including the cell you ran four times — not just the answer. It never hands you the answer, and it never changes the verdict: optional, one credit, after the fact.

Tracks

One purchase opens the whole Data Scientist Track and it is yours for good. No subscription — every new problem and every update to those tracks is included.