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:
- Read the opening and predict its first observable result.
- Build and run the small version before adding features.
- Check a rule with a known input, or examine mistakes against known labels.
- Make one change you chose and explain its effect.
- 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.