Skip to content

Capstone Projects

Every level ends with a capstone: a larger project that combines everything in the level. Capstones are the gates of this handbook. Don't move on until you can complete the current one without notes.

Why capstones

Recognizing an idea when you read it is very different from using it on a blank page. Exercises check single skills. Capstones check whether you can combine them into something that works, which is what real data and ML work looks like. Every capstone has a scenario, a list of deliverables, an acceptance checklist, hints, and a full worked solution.

The capstones

Level Capstone Est. time Solution
Level 0: Python for data Analyze a real dataset end to end in a notebook 6–10 h Solution
Level 1: Math foundations Linear regression three ways, from scratch: normal equations, gradient descent, and statistical inference 8–12 h Solution
Level 2: The data science workflow A full data science investigation: SQL, cleaning, EDA, an A/B test, and a written report 10–15 h Solution
Level 3: Machine learning fundamentals Build a churn classifier from scratch in NumPy, then match it with scikit-learn 8–12 h Solution
Level 4: ML algorithms in depth A model bake-off on a tabular dataset, with rigorous validation and a written recommendation 10–15 h Solution
Level 5: Applied ML and MLOps Ship a production-ready model service: pipeline, tuning, tracking, an API, Docker, and monitoring 12–20 h Solution
Level 6: Neural networks from scratch Build a tiny deep learning library with autograd, and train it to over 95% accuracy on digits 10–15 h Solution
Level 7: Deep learning with PyTorch Train an image classifier above 90% accuracy, with augmentation, tracking, and an error analysis 10–15 h Solution
Level 8: Modern deep learning Train a small GPT from scratch on a text corpus, and write up what you learned 12–20 h Solution

How to use the solutions

  1. Attempt the whole capstone first. Use the hints if you're stuck for more than 30 minutes on one part.
  2. When you're done, or truly stuck, read the solution and compare it with yours. Different isn't wrong: check whether your approach meets the acceptance checklist.
  3. If you needed the solution for a part, redo that part from a blank file a few days later.
  4. Add anything you got wrong to your "mistakes I made" log.