Python for Humans · Draft v0.1 · Oct 29, 2026 · Draft position: chapter 18 · Replace the capstone menu with short, independent projects across games, web, APIs, data and machine learning.

Choose a Project

You should already know
The local-program workflow from Part II; each project lists its own additional prerequisites.
You'll build
A finished small project in a direction you choose.
You'll be able to
Choose a project, install its dependencies, check its result and make an independent change.
You need
Your local Python setup and uv; individual projects list their packages and data.

You can write programs, save them, find mistakes and use code from other people. What would you like to do with those skills?

This part offers short projects in different settings. Each has a small finished result, a few new tools and changes you can make yourself. Choose one that interests you. You don't need to complete the whole menu.

Project You'll make New territory
Dodge the Blocks An arrow-key game with falling obstacles and a score Events, animation and collisions with pygame-ce
Your Reading List A website that remembers books and their finished status Django forms, models and a database
Your First API A word-count service, with an optional earthquake dashboard FastAPI, validation, JSON requests and browser charts
Explore Real Data An earthquake notebook with a table and a chart Jupyter, pandas and Matplotlib
Train Your First Model A Titanic survival classifier Training, preprocessing, baselines and held-out evaluation
Teach Python to Spot Spam A classifier for short messages Text features, precision, recall and wrong predictions

The reading-list project builds on the optional Django chapter. The data notebook prepares the notebook workflow for Titanic; the spam project then reuses the training-and-evaluation ideas. The game and API can be followed independently from the core local-program chapters.

Keep Each Experiment Separate

Start each project in its own named folder inside your course folder. The setup commands create a separate uv project, avoid joining the parent project's workspace, and select Python 3.14 for the examples. Keep its pyproject.toml, .python-version and uv.lock with its source.

Use any plain-text editor for Python files. The notebook projects use JupyterLab because running cells, inspecting tables and writing explanations are part of those experiments. It isn't a replacement editor requirement for the rest of the book.

Package installation can require an internet connection. The notebook datasets are provided as saved downloads with source information. After setup, their required analyses and models run locally without accounts, paid APIs or a GPU.

These drafts aim for one sitting apiece; installation and unfamiliar tools may take longer. Reach the smallest working result before taking on an extension.

Make the Result Yours

For your chosen project:

  1. Read the opening and predict its first observable result.
  2. Build and run the small version before adding features.
  3. Check a rule with a known input, or examine mistakes against known labels.
  4. Make one change you chose and explain its effect.
  5. Restart the program or notebook and reproduce the result.

A working screenshot is useful. So is a short explanation of the rule, the input and the check that supports your claim. A machine-learning score needs its dataset and evaluation method beside it.

Use Help Without Losing the Project

The tutor sidebars continue here. Bring the code you can explain, an input and your prediction. Ask about one unfamiliar operation at a time.

If you use generated code, read it, run it on a small input and check its claims. Ask why a line is needed before extending it. Finding a bug and showing a test that fails before the fix is worthwhile progress too.

Further challenges can extend the generator, improve the castle, investigate a buggy inherited program or automate a repeated task. The main menu gives you a small starting point rather than requiring a large final application.

Pick a project, then keep a short note: what you changed, what you checked and what you'd like to learn next.