Skip to content

How this is made

Straight answers about how this site works, so you can trust what you’re learning from.

How the courses are made

Each course is written with the help of Claude Code (an AI coding assistant) and then put through an automated 11-point quality check before it is ever published. That check is not a rubber stamp — a course does not go live unless it passes all of it. Among other things, it verifies that:

  • the dataset is reproducible and the row and column counts match what the course claims;
  • the guided Part A actually runs from a clean setup and produces every output it promises;
  • the Part B challenge has a worked reference solution that hits the stated target, with margin;
  • every runtime, count, and result printed in the course came from a real run — never estimated;
  • every source and tool link resolves and is properly credited.

If a course couldn’t pass, it isn’t here.

On top of that automated check, every course is also reviewed from a first-time learner’s perspective before it’s published — an AI reviewer, instructed to read the page cold the way a brand-new learner would, flags anything confusing or misleading. The two work together: the automated gates prove the course runs and its numbers are real; the cold-read review checks it’s clear and honest to someone seeing it for the first time.

About the data

Most datasets on this site are realistic but purpose-built — generated by a seeded script and modelled on a real-world scenario (a warehouse’s shipments, a month of support tickets, a region’s sales). These are never scraped, and contain no personal data.

A small number of courses instead use a classic, public dataset — for example from the UCI Machine Learning Repository or the networkx library — where learning from real, recorded data is the point. These are always named and fully credited on the course page and in its Sources.

Either way, the correct answer is known — in the purpose-built courses because we generated it, in the real-data courses because the dataset is labelled — so a course can check whether your method actually recovers the right result. With uncurated real-world data nobody knows the true answer, so you can never be sure your approach worked. Here, you can.

The skills you build, and the judgment you practise, are exactly the same either way — and the solution you write is yours to keep and show off. When you do, describe the data honestly (a purpose-built exercise, or the named public dataset it used): what an employer is judging is your analysis and reasoning.

How you may use this material

The courses — their text, code, and datasets — are all rights reserved. You’re welcome to view, run, and learn from everything here for your own personal, non-commercial use. You may not copy, republish, redistribute, or resell the material, or use it to train a machine-learning model.

Your own solutions to the Part B challenges are a different thing entirely: they’re your work, and you’re welcome to put them in your portfolio, your GitHub, or anywhere else. Where your write-up necessarily quotes our problem text or data, that quoted part stays ours — just credit the course.

Feedback

Found something broken, unclear, or wrong? Tell us — it genuinely helps, and fixing it helps the next learner.

You’ll need a free GitHub account to post, but nothing else — we don’t ask for your email or collect any personal details.

What we collect

Almost nothing, on purpose. There are no accounts and no sign-up. To see roughly how many people visit and which pages they read, we use privacy-friendly, cookieless analytics (Cloudflare Web Analytics) — it sets no cookies and gathers no personal data about you. Feedback goes to GitHub (above), which has its own privacy policy. That’s the whole list.