Original mock contests
Two full USAAIO-style mock contests: a 90-minute tabular ML problem in the Round-1 style, and a 180-minute small-vision problem in the Round-2 style. Each mock has a self-contained problem page (constraints, data dictionary, submission format, scoring rubric) and a separate reference-solution page to open after you've sat the timer.
How to take a mock. Strict timer. Open the problem page only when the timer starts.
Save predictions and notebook from a clean kernel when the timer rings. Then open the solution page and
score yourself rubric-section by rubric-section — not on a single leaderboard number.
Mock A · Tabular ML (Round-1 style)
| Time | 90 minutes |
| Compute | CPU only |
| Topic | 3-class classification on a small synthetic exam-outcome dataset (~500 rows, 4 features, ~8% missing). Preprocessing, baseline, feature engineering, model choice, write-up. |
| Data | Synthetic, generated locally from a ~20-line numpy snippet on the problem page. No download required. |
| Submission | predictions.csv with header id,label, labels ∈ {low, mid, high}. |
| Metric | Weighted F1 across 3 classes (rubric is process-based, not leaderboard-based). |
| Points | 100 (preprocessing 20 · baseline 30 · feature engineering 25 · model choice 15 · write-up 10) |
Mock B · Small vision (Round-2 style)
| Time | 180 minutes |
| Compute | Colab L4 GPU allowed (or local equivalent). No pretrained weights. |
| Topic | 5-class hand-drawn-shape classification on a 5 000-image synthetic dataset (64×64 grayscale). Data loader, CNN from scratch, augmentation, training stability, evaluation, theory. |
| Data | Synthetic, generated locally from a ~30-line PIL + numpy snippet on the problem page. ~5 MB total. |
| Submission | predictions.csv with header id,label, lowercase labels from the 5-class set, plus a 3-question theory short-answer. |
| Metric | Macro accuracy (mean per-class accuracy). |
| Points | 100 (data loader 15 · baseline CNN 30 · augmentation 20 · training stability 15 · evaluation report 10 · theory 10) |
After each mock
- Score yourself against the rubric, section by section. Do not just stare at the leaderboard number.
- For each rubric section you missed: write one sentence in your error log on what you'd do differently.
- For coding bugs (submission format, leakage, BatchNorm at inference, etc.): add a one-line checklist item to your “final 10 minutes” ritual.
- Re-attempt the lost rubric sections with no time limit before moving to the next mock.