Everything in AP Computer Science Principles fits together. This is the whole system, one unit at a time.

Start here: Units 0 and 1 are complete — the big picture, then how the world becomes bits, across twenty lessons. Units 2, 3, and 4 are complete — the whole first semester. Everything below Unit 4 is planned but not written yet.

Signing in is optional. Every lesson works without it — it just lets me see who's finished what.

Practice tools

TOOLS

Flip drills, trace table, pseudocode viewer

Separate site

Endless practice on the two flips the exam punishes most, plus a step-through tracer and the Python ↔ AP Pseudocode viewer.

Units

UNIT 0

The Big Picture

All 5 lessons live

What actually happens when you send a photo? — Week 1

  1. 0.1  The Photo Trip
  2. 0.2  Everything is Bits
  3. 0.3  Machines Follow Instructions
  4. 0.4  The Whole System
  5. 0.5  How This Course Works
UNIT 1

Digital Information

All 15 lessons live

How does the world become bits? — Weeks 2–4

  1. 1.1  Two Symbols Are Enough
  2. 1.2  Binary ↔ Decimal
  3. 1.3  When Numbers Break
  4. 1.4  Text as Bits
  5. 1.5  Images and Color as Bits
  6. 1.6  Analog to Digital
  7. 1.7  Abstraction
  8. 1.8  Compression I: Lossless
  9. 1.9  Compression II: Lossy
  10. 1.10  Bits in Python
  11. 1.11–1.12  Mini-Project 1: Secret Messages in Bits
  12. 1.13  Rebuild the Map
  13. 1.14  Test Day (review & practice)
  14. 1.15  Flex Day: How Big Is a Minute of Video?
UNIT 2

Programming 1: Talking to the Machine

All 20 lessons live

How do we give instructions? — Weeks 5–8

  1. 2.1  Your First Real Program
  2. 2.2  Variables and Assignment
  3. 2.3  Expressions, Arithmetic, and MOD
  4. 2.4  Input and Output
  5. 2.5  Lab: Calculator Day
  6. 2.6  Strings I: Text Is a Row of Characters
  7. 2.7  Strings II: Methods and f-Strings
  8. 2.8  When Programs Go Wrong
  9. 2.9  How Software Actually Gets Made
  10. 2.10  Lab: Mad Libs (paired)
  11. 2.11  Booleans and Comparisons
  12. 2.12  Selection: if / else
  13. 2.13  elif and Nested Conditionals
  14. 2.14  Logical Operators
  15. 2.15  Lab: Decision Day
  16. 2.16  Testing, Edge Cases & Pseudocode Gym
  17. 2.17–2.18  Mini-Project 2: Quiz Bot
  18. 2.19  Rebuild the Map & Review
  19. 2.20  Test Day (review & practice)
UNIT 3

Programming 2: Power Tools

All 25 lessons live

How do we manage complexity? — Weeks 9–13

  1. 3.1  The while Loop
  2. 3.2  while vs REPEAT UNTIL
  3. 3.3  Counting Loops
  4. 3.4  The Accumulator
  5. 3.5  Lab: Loop Day
  6. 3.6  Lists I: Many Values, One Name
  7. 3.7  Lists II: Growing and Shrinking
  8. 3.8  Traversal
  9. 3.9  Canonical List Algorithms
  10. 3.10  Lab: Gradebook Day
  11. 3.11  Calling Procedures
  12. 3.12  Writing Procedures
  13. 3.13  return vs print
  14. 3.14  Procedures + Lists (the Create PT pattern)
  15. 3.15  Lab: Refactor Day
  16. 3.16  Libraries and APIs
  17. 3.17  Random Values
  18. 3.18  Lab: Random Day
  19. 3.19  Pseudocode Gym II
  20. 3.20  Test Day (review & practice)
  21. 3.21  How the Create PT Works
  22. 3.22–3.24  Create PT: Build Days
  23. 3.25  Written Responses
UNIT 4

Algorithms & Simulation

All 15 lessons live

Which solutions are even possible? — Weeks 15–18

  1. 4.1  What Counts as an Algorithm
  2. 4.2  Combining and Refining Algorithms
  3. 4.3  Linear Search
  4. 4.4  Binary Search
  5. 4.5  Linear vs Binary: The Payoff
  6. 4.6  Measuring Efficiency Without Big-O
  7. 4.7  Reasonable vs Unreasonable Time
  8. 4.8  Heuristics: Good Enough on Purpose
  9. 4.9  Undecidable Problems
  10. 4.10  Simulations: Why Fake It
  11. 4.11–4.12  Mini-Project 3: Build a Simulation
  12. 4.13  Rebuild the Map & Semester Review
  13. 4.14  Test Day (review & practice)
  14. 4.15  Flex Day: How Long Would This Actually Take?
UNIT 5

Data

All 15 lessons live

What can bits tell us? — Weeks 19–21

  1. 5.1  Data Everywhere
  2. 5.2  Metadata
  3. 5.3  Reading a CSV
  4. 5.4  Asking a Dataset a Question
  5. 5.5  Lab: First Data Dive
  6. 5.6  Dirty Data
  7. 5.7  Filtering and Grouping
  8. 5.8  Visualization
  9. 5.9  Correlation, Causation, and Bad Claims
  10. 5.10  Bias in Data, and What’s Missing
  11. 5.11–5.12  Mini-Project 4: Data Story
  12. 5.13  Rebuild the Map & Review
  13. 5.14  Test Day (review & practice)
  14. 5.15  Flex Day: What Does an App Know About You?
UNIT 6

The Internet & Computing Systems

All 15 lessons live

How do bits travel and scale? — Weeks 22–24

  1. 6.1  What the Internet Actually Is
  2. 6.2  Protocols and the Layer Idea
  3. 6.3  Addresses and Names
  4. 6.4  Packets and TCP
  5. 6.5  Lab: Packet Simulation
  6. 6.6  Routing and Redundancy
  7. 6.7  Fault Tolerance
  8. 6.8  Bandwidth and Latency
  9. 6.9  Parallel Computing
  10. 6.10  Speedup, Calculated
  11. 6.11  The Web on Top of the Internet
  12. 6.12  Lab: Measure the Network
  13. 6.13  Scenario Gym & System Check
  14. 6.14  Rebuild the Map & Review
  15. 6.15  Test Day (review & practice)
UNIT 7

Cybersecurity

All 10 lessons live

How do we protect bits — and from whom? — Weeks 25–26

  1. 7.1  What Are We Protecting, and From Whom?
  2. 7.2  Caesar’s Cipher, on Paper
  3. 7.3  Symmetric Encryption in Python
  4. 7.4  The Key Exchange Problem, and Public Key Encryption
  5. 7.5  Certificates, HTTPS, and Trust
  6. 7.6  Authentication and Multifactor
  7. 7.7  Phishing and Attacks on People
  8. 7.8  Malware and Defenses
  9. 7.9  Lab: Cipher Day + Security Audit
  10. 7.10  Rebuild the Map & Test Day
UNIT 8

AI & the Impact of Computing

All 15 lessons live

What do computers do to us and for us? — Weeks 27–29

  1. 8.1  What Machine Learning Actually Is
  2. 8.2  Training Data Decides Everything
  3. 8.3  Build a Tiny Classifier
  4. 8.4  Computing Bias
  5. 8.5  Lab: Audit a System
  6. 8.6  Beneficial and Harmful Effects
  7. 8.7  The Digital Divide
  8. 8.8  Crowdsourcing and Citizen Science
  9. 8.9  Legal and Ethical Concerns
  10. 8.10  Scenario Gym: Big Idea 5
  11. 8.11  Practice PT #2 Launch
  12. 8.12–8.13  Practice PT #2: Build Days
  13. 8.14  Written Responses, Timed
  14. 8.15  Rebuild the Map & Test Day
UNIT 9

Create Performance Task

Planned

Build something that's yours.

UNIT 10

AP Exam Boot Camp

Planned

Reassemble the whole system.