Learn · investigate · explain
Your AP CSP pathway
Classroom assignments save your work and let your teacher give feedback. Public practice checks and investigation tools do not save progress or award XP.
Big Idea 1 · Creative Development
1.1 · Collaboration
Explain how collaboration, diverse perspectives and computing tools support development.
1.2 · Program Function and Purpose
Distinguish program purpose, behavior, inputs and outputs.
1.3 · Program Design and Development
Develop, document and evaluate a solution against user needs.
1.4 · Identifying and Correcting Errors
Identify and correct errors; choose inputs with expected outputs that test requirements.
Big Idea 2 · Data
2.1 · Binary Numbers
Represent information with bits; explain analog/digital representation and binary values.
2.2 · Data Compression
Compare lossless and lossy compression and choose a method for a purpose.
2.3 · Extracting Information from Data
Explain data, metadata and how processing can reveal information and limitations.
2.4 · Using Programs with Data
Use programs to process data and explain challenges in large or inconsistent datasets.
Big Idea 3 · Algorithms and Programming
3.1 · Variables and Assignments
Represent values with variables and determine assignment effects.
3.2 · Data Abstraction
Represent collections with lists and explain how data abstraction manages complexity.
3.3 · Mathematical Expressions
Represent algorithms and evaluate sequencing and arithmetic expressions.
3.4 · Strings
Evaluate string operations using the behavior defined in a prompt.
3.5 · Boolean Expressions
Write and evaluate relational and logical expressions.
3.6 · Conditionals
Represent selection and determine which statements run.
3.7 · Nested Conditionals
Write and evaluate nested selection.
3.8 · Iteration
Represent repetition and determine its results and termination.
3.9 · Developing Algorithms
Compare, combine and modify algorithms to achieve a purpose.
3.10 · Lists
Use list operations and traverse collections to produce results.
3.11 · Binary Search
Explain sorted-data requirements and determine search iterations.
3.12 · Calling Procedures
Use procedure calls, arguments and returned values.
3.13 · Developing Procedures
Develop procedural abstractions and explain their effect on complexity.
3.14 · Libraries
Use documented libraries while understanding their abstractions.
3.15 · Random Values
Use random values and reason about possible outputs.
3.16 · Simulations
Explain how simulations model phenomena and evaluate their limitations.
3.17 · Algorithmic Efficiency
Compare algorithm growth and reasonable versus unreasonable time.
3.18 · Undecidable Problems
Explain that some problems have no algorithm solving every instance.
Big Idea 4 · Computer Systems and Networks
4.1 · The Internet
Explain networks, protocols, data routing and Internet design.
4.2 · Fault Tolerance
Explain redundancy and evaluate system responses to failures.
4.3 · Parallel and Distributed Computing
Compare sequential, parallel and distributed work and evaluate speedup.
Big Idea 5 · Impact of Computing
5.1 · Beneficial and Harmful Effects
Explain intended and unintended effects on different stakeholders.
5.2 · Digital Divide
Explain differences in access and the effects of attempts to reduce them.
5.3 · Computing Bias
Explain how data or design can introduce bias and assess mitigations.
5.4 · Crowdsourcing
Explain how broad participation supports solutions and creates tradeoffs.
5.5 · Legal and Ethical Concerns
Evaluate computing uses through rights, permissions and ethical responsibilities.
5.6 · Safe Computing
Explain data risks, protection and the consequences of collecting personal information.
Course investigations
- Collaborative product brief
Choose a revision to a fictional school booking service using evidence from multiple user groups. Document a shared decision and a testable acceptance criterion.
- Input to output investigation
Specify and trace a school-capacity message generator. Separate user purpose, inputs, processing, displayed output and internal state.
- Bug clinic
Compare a faulty threshold counter with its specification, isolate a defect and design tests that expose it.
- Binary message studio
Encode unsigned values at a stated bit width, decode by place value and explain overflow and sampling limits.
- Compression tradeoff
Account for every required byte and choose exact recovery or information loss for a purpose.
- School transport data inquiry
Clean a documented synthetic trip table, compare cleaning policies and qualify a transport claim. Work from the metadata before calculating.
- Variable trace studio
Trace changing state and an arithmetic expression, and compare a destructive overwrite with a swap that preserves both originals.
- Text transformation studio
Use an explicitly documented text interface, track intermediate strings and test boundaries without assuming another language’s substring conventions.
- Eligibility decision
Translate an inclusive age requirement and positive-capacity requirement into a Boolean condition, then compare AND with a faulty OR.
- Nested route selector
Trace a decision inside each weather branch and enumerate all reachable paths in a fictional campus route model.
- Loop termination detective
Follow a bounded trace of a decrementing counter and distinguish a reached stopping condition from an observation limit.
- Algorithm comparison
Compare two full-traversal counters with a first-match algorithm and justify a real equivalence rather than trusting a few matching runs.
- Club list filter
Filter a fictional capacity list while retaining duplicates and order, then explain why list abstraction avoids one code path per club.
- Search interval detective
Find present and absent targets while explaining every interval discarded. Compare the measured comparison count with a linear scan.
- Procedure call tracer
Match three arguments by position, follow a returned value into a caller expression and design a test that exposes a swapped-argument bug.
- Reusable recommendation procedure
Develop a reusable inclusive-range recommendation filter with a list parameter and two bounds; demonstrate that the parameters change behaviour.
- Library contract clinic
Evaluate two fixed text-library implementations against a precise contract, then propose a replacement and compatibility tests.
- Exact chance versus a trial stream
Enumerate a finite random range and compare its exact probability with a supplied, reproducible trial stream. Explain why the observed frequency can differ.
- Queue policy simulator
Compare capacity policies under one arrival sequence, report both served and remaining demand, and critique the model before recommending a real change.
- Growth laboratory
Compare exact operation counts for stated loop models as input grows; use the results to distinguish polynomial growth, practical limits and heuristics.
- Timeout is not a proof
Investigate a restricted counter model and classify the strength of each observation without claiming to solve the general halting problem.
- Packet journey
Deliver packets out of order, detect missing sequence numbers and explain the difference between a routing model and a reliable transport protocol.
- Network failure investigation
Find all surviving simple paths in a fixed undirected network, compare link failures and explain what an added link can and cannot repair.
- Parallel scheduler
Assign independent tasks to workers, justify the finishing time and speedup, then test how communication overhead changes the result.
- Innovation stakeholder inquiry
Evaluate a fictional first-come online booking service using stakeholder evidence, then compare benefits, harms and a targeted revision.
- Digital access audit
Evaluate four targeted interventions within a fixed fictional budget and distinguish device access from connectivity, language and skills.
- Recommendation bias investigation
Compare group error rates and overall accuracy in a fictional classifier. Evaluate a proposed mitigation without treating a group difference as proof of its cause.
- Crowdsourced accessibility map
Assess representation and the strength of corroboration in a fictional public-reporting system while keeping uncertainty visible.
- Permissions and attribution clinic
Apply explicitly supplied fictional asset terms and distinguish permission, attribution and a separate consent purpose.
- Privacy and safe computing decisions
Match a threat to a safeguard, explain the mechanism and identify a remaining limitation. Minimise personal data rather than merely hiding its display.