Working in Python · AP Computer Science Principles ↳ AP CSP Standards Reference
Every Computational Thinking Practice, every Big Idea, and every topic inside it, mapped against what the book actually teaches — sourced from standards/apcsp.json. Chapters 14–19 carry no AP content and are omitted.
This page maps topics. For the same question asked word by word — which AP CSP vocabulary terms the book actually uses — see AP CSP Vocabulary Coverage.
Skills tested across every Big Idea, not tied to one. "Coverage" here means whether the book's actual classroom activity builds the skill — not whether a topic is named.
Computational Solution Design
Choosing procedures, data structures, and program structure to fit a problem, before writing code.
● StrongChapter 4's development-plan section models this directly; choosing between list, dict, and tuple in chapters 9–11 is this skill applied concretely.
Algorithms and Program Development
Writing, completing, and modifying code: expressions, conditionals, iteration, procedures.
● StrongThis is most of what the book's exercises are, chapters 1–13.
Abstraction in Program Development
Using functions and data abstraction to manage complexity instead of repeating or inlining everything.
● StrongFunctions from chapter 3 on; lists, dicts, and tuples as abstraction in chapters 9–11.
Code Analysis
Reading code someone else wrote — tracing execution, predicting output, locating an error — without writing anything new.
● PartialEvery chapter's Debugging section builds the mindset, and chapter 7's doctest work is close, but exercises default to "write a function that…," not "here's a snippet — what does it print." Coding-relevant gap, see below.
Computing Innovations
Analyzing a computing innovation's purpose, data use, and effects — reading and writing about impact, not code.
○ Not this bookBig Idea 5's practice. Carried by Little Brother, by design — not a coding skill.
Responsible Computing
Licensing, accessibility, and crediting sources inside a student's own project.
● Mostly not carriedOne piece — crediting code taken from elsewhere — is a coding habit with no counterpart anywhere in the book. Coding-relevant gap, see below.
| Topic | Title | Status | Chapters | Note |
|---|---|---|---|---|
| 1.1 | Collaboration | planned | — | Lab pair work + Create PT, not a standalone lesson |
| 1.2 | Program Function and Purpose | in book | 1, 5 | partial — no event-driven programming |
| 1.3 | Program Design and Development | in book | 4 | crediting others' code uncarried |
| 1.4 | Identifying and Correcting Errors | in book | 1–13 | every chapter's Debugging section |
The book's core, and the exam's biggest single Big Idea.
| Topic | Title | Status | Chapters | Note |
|---|---|---|---|---|
| 3.1 | Variables and Assignments | in book | 2 | |
| 3.2 | Data Abstraction | in book | 9, 10, 11 | |
| 3.3 | Mathematical Expressions | in book | 1, 2 | |
| 3.4 | Strings | in book | 1, 8 | |
| 3.5 | Boolean Expressions | in book | 5 | |
| 3.6 | Conditionals | in book | 5 | |
| 3.7 | Nested Conditionals | in book | 5 | |
| 3.8 | Iteration | in book | 3, 7 | no while anywhere |
| 3.9 | Developing Algorithms | in book | 6, 7 | incremental dev., linear search |
| 3.10 | Lists | in book | 9 | |
| 3.11 | Binary Search | planned | — | linear search taught; binary search never introduced |
| 3.12 | Calling Procedures | in book | 3, 6 | |
| 3.13 | Developing Procedures | in book | 3, 4 | |
| 3.14 | Libraries | in book | 2, 4, 8 | |
| 3.15 | Random Values | in book | 12 | |
| 3.16 | Simulations | planned | — | no simulation content in ch. 1–13 |
| 3.17 | Algorithmic Efficiency | planned | — | no informal efficiency discussion |
| 3.18 | Undecidable Problems | planned | — | conceptual, non-programming topic |
| Topic | Title | Status |
|---|---|---|
| 4.1 | The Internet | Little Brother |
| 4.2 | Fault Tolerance | Little Brother |
| 4.3 | Parallel and Distributed Computing | Little Brother |
| Topic | Title | Status |
|---|---|---|
| 5.1 | Beneficial and Harmful Effects | Little Brother |
| 5.2 | Digital Divide | Little Brother |
| 5.3 | Computing Bias | Little Brother |
| 5.4 | Crowdsourcing | Little Brother |
| 5.5 | Legal and Ethical Concerns | Little Brother |
| 5.6 | Safe Computing | Little Brother |
Big Ideas 4 and 5 carry zero topics in this book, entirely by design. Not a finding of this page.
The split below separates gaps about writing or reading code from gaps about computing's effect on the world. The second kind is expected and already carried elsewhere; the first kind is the one worth watching.
while loop anywhere in the book (topic 3.8).
The single most consequential finding in this index. Indefinite iteration is taught only through recursion (ch. 5–6) — related, but not the same pseudocode construct the exam tests, and it can't produce the exam's condition-never-flips or zero-iteration edge cases.
Not an abstract ethics topic — a habit needed while actually writing code. Nothing in the book models it.
Exercises default to "write a function that…" rather than "here's a snippet — what does it print, or where's the bug." Debugging sections build the mindset, not the trace-and-predict format the MCQ uses.
Every program in the book runs top to bottom; no event loop or callback anywhere.
All four are planned for the November algorithms block, not present in the book as written. Linear search is already taught (ch. 7), so binary search in particular is a direct next step, not a cold start.