Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

This book will help you learn Python through clear explanations, practical examples, guided practice, and purposeful projects. Each chapter builds on what you have already learned and prepares you for increasingly advanced work in data science and the dynamic humanities.

You can use the book independently or alongside its notebooks, exercises, videos, and course activities. Whichever route you choose, progress comes from actively working with the examples rather than only reading or watching them.

Work actively

Reading code can create a feeling of familiarity without the ability to use it. For each worked example:

  1. read the purpose before the code;

  2. predict at least part of the result;

  3. run the example;

  4. compare the actual result with your prediction;

  5. make the requested change;

  6. investigate one failure; and

  7. explain the important decision in your own words.

Do not copy large blocks merely to reach the displayed answer. A slower first attempt followed by a clear explanation is better evidence of progress.

Know what each resource is for

If two resources appear to disagree, report the problem through the book’s errata page. Until it is corrected, use the tested reference program when checking what the example should do.

Choose a pace without changing the outcomes

An independent beginner can treat one chapter as several study sessions: read and observe, code along, practise, then apply. A university course can use the same chapter across a concept session and supervised lab. An experienced learner may move faster, but should still complete the prediction, debugging, application, and explanation tasks.

Watching every video is optional. Producing evidence that you can meet the outcome is not.

Keep a learning record

Maintain a simple journal in a text file or notebook. For each chapter, record:

This record makes progress visible and provides process evidence when a finished program alone cannot show how you learned.

When you get stuck

Use help in an order that preserves productive effort:

  1. reread the requirement and inspect the exact output or error;

  2. reduce the problem to the smallest failing example;

  3. compare with the nearest worked example;

  4. consult the glossary or official documentation;

  5. request a hint from a person or permitted AI tool; and

  6. ask for a fuller explanation after documenting what you tried.

Being stuck is not evidence that you cannot program. It is often the moment when programming learning becomes visible.