Skip to content

Comparing Free Python Textbooks

Many free resources exist for teaching Python to beginners. This page provides a rubric for scoring them, so teachers can make an informed choice about which resource best fits their classroom. The rubric weights features that matter most for beginners aged 10–14 in a coding club or classroom setting — instant feedback, visual results, and a supportive tone — over features that matter more for self-directed adult learners, such as exhaustive reference material.

The rubric totals 100 points across 15 categories. Each category below explains what it measures and why it received the point value it did. A comparison table follows, scoring this textbook (Learning Python) against three other popular free Python resources.

Rubric Categories

Course Completeness (8 points)

Does the textbook cover a full beginning-to-intermediate curriculum — roughly 30+ chapters or units spanning basics through more advanced topics like file I/O, error handling, and object-oriented programming? A short primer that stops at loops and functions leaves a classroom without a full-year curriculum. This is weighted at 8 points because breadth matters, but it is not the single most important factor — a shorter course with excellent pedagogy can still teach effectively.

Syntax Highlighting (4 points)

Does code appear in a color-coded editor or code block that distinguishes keywords, strings, numbers, and comments? Color syntax highlighting reduces the cognitive load of reading code and helps beginners recognize patterns faster. This is a baseline expectation for any modern textbook, so it is weighted relatively low — nearly every serious resource does this well.

In-Browser Code Execution (5 points)

Can students run small Python programs directly on the page, with no install, no account, and no setup? Removing the installation barrier is essential for classrooms with limited IT support or young students who cannot install software themselves. This is weighted lower than "visualizing tools" below because plain in-browser execution (text output only) is a lower bar than execution paired with rich visual feedback.

Visualizing Tools (e.g., Turtle Graphics) (10 points)

Does the course use a visual output — most commonly turtle graphics — so that a program's effect can be seen rather than just read as printed text? Visual, immediate feedback is one of the strongest engagement tools for young learners: a shape drawn on screen is far more motivating than a line of console text. This is one of the highest-weighted categories because it directly supports the "see it, run it, modify it" cycle that research on novice programmers shows builds retention and confidence.

Friendly, Encouraging Mascot or Persona (8 points)

Does the course use a consistent character or persona to guide students, frame predictions, and soften the tone around mistakes and bugs? This is known as the persona effect in educational research — students report higher engagement and lower anxiety when guided by a friendly character rather than dry, impersonal text. This is weighted highly because tone has an outsized effect on whether a 10–14 year-old sticks with a difficult topic instead of giving up.

Pausable / Steppable Program Execution (4 points)

Can a running interactive program (especially an animation or turtle-graphics drawing) be paused, resumed, or stepped through mid-execution? This helps students inspect what is happening at a specific moment rather than only seeing a finished result. It is weighted lower than other categories because it is a "nice to have" refinement on top of visual execution, not a requirement for it.

Is there a gallery of pre-built turtle graphics examples that students can browse, run, and remix — beyond the examples embedded in the chapters themselves? A gallery gives students a low-stakes way to explore creative possibilities and gives teachers a fast source of bonus activities or contest prompts.

Rich Set of MicroSims / Interactive Simulations (8 points)

Beyond turtle graphics, does the course include interactive simulations for other concepts — sliders that visualize how a loop variable changes, animated diagrams of how recursion works, visual sorting algorithms, and similar tools? MicroSims turn abstract concepts (recursion, data structures, algorithmic complexity) into something students can manipulate and observe. This is weighted highly because it extends the "visual feedback" advantage of turtle graphics to the harder, more abstract parts of the curriculum where student confusion is highest.

Chapter Quizzes (8 points)

Does every chapter include a self-check quiz for formative assessment? Regular low-stakes retrieval practice is one of the best-evidenced techniques for improving retention. This is weighted highly because without it, teachers must build their own assessments from scratch for every chapter — a significant burden that a free resource should remove.

Predict-Then-Run Methodology (10 points)

Does the course consistently ask students to predict what a program will do before they run it, and then confirm or correct that prediction afterward? This single habit — pausing to reason through code before executing it — is one of the most valuable skills a beginning programmer can build, and is strongly associated with improved code comprehension in novice-programmer research. It is weighted as highly as visualizing tools because, unlike a quiz, it is woven into every single example rather than appearing once per chapter — a resource either commits to this pattern throughout or it doesn't.

Extensive Glossary (4 points)

Is there a comprehensive, alphabetized glossary of terms with clear, precise definitions? A glossary helps students who encounter unfamiliar vocabulary look it up without interrupting their place in a chapter, and helps teachers standardize the vocabulary used in their classroom.

Extensive FAQ (4 points)

Is there a curated list of frequently asked questions, organized by topic, that addresses common points of confusion beyond what a single chapter's narrative covers? A good FAQ often catches the exact questions students ask out loud in class, saving teachers repeated explanations.

Annotated References (4 points)

Does each chapter or unit provide a curated list of further-reading references with a description of why each source is relevant — rather than just a bare list of links? Annotations help students and teachers judge which reference is worth their time, rather than opening five tabs at random.

Instructor Customization (9 points)

Can an instructor fork, clone, or otherwise create their own customized version of the course — changing the title, reordering content, adding their own examples, and republishing it under their own branding? Open licensing and open source code (rather than a closed platform) let a teacher adapt the material to their specific classroom, district requirements, or pacing needs. This is weighted highly because it is the difference between a resource a teacher can truly make their own and one they are permanently locked into using as-is.

Cost and Licensing (10 points)

Is the entire course free with no paywall, account requirement, or "premium" tier gating core content — and is it available under a license that explicitly permits classroom use and redistribution? Many "free" resources gate advanced chapters, exercises, or teacher materials behind a paid tier. This is weighted highly because cost is often the deciding factor for under-resourced classrooms, and a truly open license (like Creative Commons) gives teachers legal clarity that a vague "free to use" statement does not.

Total: 100 points (8 + 4 + 5 + 10 + 8 + 4 + 4 + 8 + 8 + 10 + 4 + 4 + 4 + 9 + 10)

Comparison Table

The table below scores this textbook (Learning Python) against three other widely used free Python resources for beginners: Automate the Boring Stuff with Python (Al Sweigart), CS Circles / CEMC (University of Waterloo), and Python for Everybody (Dr. Chuck, University of Michigan).

Category Points Available Learning Python Automate the Boring Stuff CS Circles (CEMC) Python for Everybody
Course Completeness 8 8 7 5 7
Syntax Highlighting 4 4 4 4 3
In-Browser Code Execution 5 5 0 5 3
Visualizing Tools (Turtle Graphics) 10 10 2 6 0
Friendly, Encouraging Mascot 8 8 0 2 0
Pausable / Steppable Execution 4 4 0 0 0
Turtle Graphics Example Gallery 4 4 0 2 0
Rich Set of MicroSims 8 8 0 2 1
Chapter Quizzes 8 8 0 2 4
Predict-Then-Run Methodology 10 10 0 0 0
Extensive Glossary 4 4 0 1 2
Extensive FAQ 4 4 0 0 1
Annotated References 4 4 1 1 2
Instructor Customization 9 9 5 2 5
Cost and Licensing 10 10 8 9 8
Total 100 100 27 41 36

Learning Python earns full marks in every category, since this rubric's categories were drawn directly from its own feature set. The other three resources are scored against the same criteria for comparison, not adjusted to flatter them — a lower score means the feature is genuinely missing or weaker, not that the resource is a worse textbook overall. Several of these resources (especially Automate the Boring Stuff) are excellent, well-regarded references for older or more independent learners; they simply do not target the same classroom-engagement features this rubric measures.

How to Use This Rubric

  • Selecting a primary resource — Use the totals as a starting point, but weigh categories by what matters most for your classroom. A district with strict data-privacy rules may weight "Cost and Licensing" and self-hosting ability more heavily; a club focused purely on creative output may weight "Visualizing Tools" and the "Turtle Graphics Example Gallery" more heavily.
  • Blending resources — Many teachers use more than one resource — for example, this textbook's turtle graphics chapters alongside another course's more extensive standard-library coverage. The rubric can help identify which resource is strongest in which category so you can combine them deliberately.
  • Re-scoring for your own criteria — Feel free to copy this table, adjust the point values in the categories above, and add rows for other resources you are evaluating (such as Codecademy's free tier, freeCodeCamp, or your district's existing curriculum).