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:
read the purpose before the code;
predict at least part of the result;
run the example;
compare the actual result with your prediction;
make the requested change;
investigate one failure; and
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¶
The manuscript explains the problem, reasoning, concepts, worked examples, and connections.
The guided notebook provides an executable path for exploration and immediate feedback.
The reference program shows the verified final behavior of a worked example.
Exercises give you short, focused practice before a larger application task.
Tests and checklists help you verify observable requirements.
Video demonstrates reasoning, workflow, debugging, and decisions; it is not a substitute for practice.
Slides support a live lesson. They summarize structure and prompts rather than reproduce book pages.
Tutorial or lab sheets tell you what to do during guided and independent work.
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:
one prediction that was right and one that changed;
one error and how you diagnosed it;
one decision you can now explain;
any AI assistance you used; and
one question to carry forward.
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:
reread the requirement and inspect the exact output or error;
reduce the problem to the smallest failing example;
compare with the nearest worked example;
consult the glossary or official documentation;
request a hint from a person or permitted AI tool; and
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.