Quick review

AP Computer Science Principles Quick Review

High-impact topic boxes for a focused review session before you take the practice test.

1. Collaboration in Program Development

The big idea

Good programs are built and improved through structured collaboration, not solo genius --- effective teams divide tasks, agree on a shared design, and give/receive constructive feedback.

Must know

Collaboration includes pair programming, code reviews, storyboarding a program before coding, dividing a program into pieces assigned to different people, and revising code based on feedback from teammates or users.

Don't confuse

Collaboration $≠$ simply splitting work in half and never communicating --- real collaboration requires a shared plan for how the pieces will connect (agreed data formats, agreed procedure names).

Exam trap

Questions describe a ``collaboration'' scenario and ask which choice best supports it; students pick the option that finishes the program fastest instead of the option that shows genuine communication and shared understanding.

5-second recall

Collaboration $arrow$ shared plan + feedback, not just divided labor.

2. Iterative and Incremental Development

The big idea

Programs are built in small, testable pieces --- write a little, test it, fix it, then add the next piece --- rather than writing an entire program at once.

Must know

Incremental development = building a program in small pieces and testing each piece as it's added. Iterative development = repeatedly revising a program based on feedback or testing results across the whole design/develop/test cycle.

Don't confuse

Incremental (adding new pieces one at a time) vs.\ iterative (looping back to revise existing pieces) --- a program can be built incrementally without ever being revised, and revised without adding new features.

Exam trap

A scenario shows a programmer writing 200 lines before running the program once; students fail to identify this as violating incremental development, which calls for testing in small chunks.

5-second recall

Incremental = add piece by piece; iterative = revise, revise, revise.

3. Documentation

The big idea

Documentation --- comments plus external descriptions of a program's purpose, inputs, and outputs --- lets other programmers, and the original author later, understand and maintain code without re-reading every line.

Must know

Good documentation states a program's or procedure's purpose, inputs, outputs, and assumptions. Comments should explain WHY a choice was made, not just restate WHAT the code already shows.

Don't confuse

Documentation vs.\ debugging output --- DISPLAY statements used only to test a program are temporary diagnostic tools, not documentation, and should usually be removed before final submission.

Exam trap

Students think any comment counts as ``good documentation,'' but exam items reward the comment that explains algorithm purpose or edge cases over one that just repeats the line of code in English.

5-second recall

Comments explain WHY, not WHAT the code already says.

4. Testing and Debugging Strategies

The big idea

Systematic testing --- tracing code by hand, testing boundary/edge cases, testing across a range of inputs --- finds errors faster and more reliably than randomly changing code and re-running it.

Must know

Syntax errors: bad code structure, caught before the program runs. Runtime errors: the program crashes while running (e.g.\ dividing by zero). Logic errors: the program runs to completion but produces the wrong output --- the hardest to catch, found by tracing and test cases.

Don't confuse

Runtime error (program crashes) vs.\ logic error (program runs to completion but produces incorrect results) --- a program with only logic errors still executes successfully.

Exam trap

A question gives a program that runs without crashing but returns a wrong value; students misclassify this as a ``syntax error'' instead of a logic error because ``the code looks fine.''

5-second recall

Syntax = won't run. Runtime = crashes mid-run. Logic = runs, wrong answer.

5. Managing Complexity with Abstraction

The big idea

Abstraction hides implementation details behind a simpler interface --- a name, a set of inputs/outputs --- so programmers can reason about a large program without holding every detail in their head at once.

Must know

Abstraction appears throughout CS: procedural abstraction (a named procedure hides its internal steps), data abstraction (a list name hides the individual values it holds), and hardware abstraction (a ``device'' hides its underlying circuitry).

Don't confuse

Abstraction (hiding unnecessary detail to manage complexity while the program still works correctly) vs.\ vague simplification for its own sake --- abstraction must preserve correct behavior.

Exam trap

Students think ``abstraction'' only means ``using a function,'' missing that exam items also test data abstraction (grouping data into a list/object) as a distinct form of abstraction.

5-second recall

Abstraction = hide detail behind a name you can trust.

6. Binary Number Representation

The big idea

All data in a computer --- numbers, text, images, sound --- is ultimately stored as sequences of binary digits (bits), each either 0 or 1, because digital circuits reliably distinguish only two states.

Must know

With $n$ bits you can represent $2^n$ distinct values (e.g., 8 bits $arrow 2^8=256$ values, numbered 0--255). Converting binary to decimal sums the place values ($…,2^3,2^2,2^1,2^0$) where a 1 appears.

Don't confuse

Bit (a single 0/1) vs.\ byte (a group of 8 bits) --- file sizes are usually reported in bytes, kilobytes, megabytes, not raw bit counts.

Exam trap

Students compute $2^n$ but forget the range is $0$ to $2^n-1$, off-by-one-ing the maximum representable value (saying 8 bits max out at 256, not 255).

5-second recall

$n$ bits $arrow 2^n$ values, numbered $0$ to $2^n-1$.

7. Representing Different Data Types

The big idea

Because computers only store bits, any real-world data type --- text, color, sound, image --- needs an agreed-upon encoding scheme mapping bit patterns to meaningful values.

Must know

Text uses character encodings like ASCII (7-bit, 128 characters) and Unicode (supports far more characters/languages worldwide). Images are grids of pixels, each pixel's color encoded in bits (e.g., RGB values). Sound is sampled at intervals, each sample's amplitude stored as a number.

Don't confuse

ASCII vs.\ Unicode --- ASCII is a small subset covering only basic English characters/symbols; Unicode was created specifically to represent characters from many world languages that ASCII cannot.

Exam trap

A question describes needing to store non-English text, and students pick ``increase the sample rate,'' confusing an audio concept with text encoding.

5-second recall

Text $arrow$ ASCII/Unicode. Image $arrow$ pixels. Sound $arrow$ samples.

8. Data Compression

The big idea

Compression re-encodes data to use fewer bits, trading off between preserving every detail (lossless) and accepting some loss of information for a much smaller file (lossy).

Must know

Lossless compression (e.g., ZIP) allows the exact original data to be reconstructed. Lossy compression (e.g., JPEG, MP3) permanently discards some data to shrink the file further and cannot be perfectly restored.

Don't confuse

Lossy vs.\ lossless --- lossy is not simply ``worse,'' it's a deliberate trade-off appropriate when small file size matters more than perfect fidelity (streaming video/audio); lossless is required when every bit must be recoverable (software, text documents).

Exam trap

Students assume more compression is always better; the exam tests recognizing when lossy compression is inappropriate (e.g., compressing source code or medical images where every detail matters).

5-second recall

Lossless = perfectly restorable. Lossy = smaller, but some data gone forever.

9. Extracting Information from Data

The big idea

Raw data only becomes useful information once it's cleaned, filtered, transformed, or visualized to reveal patterns, trends, or answers to a question --- data alone doesn't ``speak.''

Must know

Common techniques: filtering (removing irrelevant rows), sorting, combining/joining multiple data sets, summarizing (averages, counts), and visualizing (charts/graphs) to make patterns visible to humans.

Don't confuse

Data (raw, unprocessed facts, like a spreadsheet of numbers) vs.\ information (the meaning extracted after processing, like a trend or conclusion presented for people to use).

Exam trap

A scenario asks how to find a pattern in a huge data set, and students pick ``read through it manually'' instead of the choice describing computational tools (sorting, filtering, visualization) needed at real-world scale.

5-second recall

Data + processing $arrow$ information.

10. Using Databases and Big Data

The big idea

Large data sets (big data) are stored in databases and searched/queried using software tools because they are too large for a person to read completely, and metadata makes searching them efficient.

Must know

Metadata is ``data about data'' (e.g., a photo's timestamp, location, camera model) and is often what makes searching/organizing huge collections practical. Combining multiple data sets can reveal information not visible in any single data set alone.

Don't confuse

Metadata (data describing other data, like a file's creation date) vs.\ the data itself (the file's actual content) --- metadata can reveal information even if the underlying content is never opened.

Exam trap

Students underestimate metadata's power; a scenario may show that combining seemingly harmless metadata (timestamps + locations) from multiple posts identifies a person, and students miss that this is a privacy concern.

5-second recall

Metadata = data about data $arrow$ often more revealing than the data itself.

11. Bias and Limitations in Data-Driven Conclusions

The big idea

Conclusions drawn from data are only as good as the data collected --- an unrepresentative sample, missing data, or a flawed collection method produces biased or misleading conclusions even with perfectly correct computation.

Must know

Bias can enter through sampling (who/what is measured), collection method (how it's measured), and the questions asked. Larger data sets reduce random error but do not fix a systematically biased sampling method.

Don't confuse

Bias in the data collection process vs.\ a calculation/rounding error --- fixing bias requires collecting better/more representative data, not recomputing the same flawed data set more precisely.

Exam trap

Students think ``more data always fixes bias''; the exam tests recognizing that a bigger biased sample is still biased --- only a differently or better-sampled data set fixes it.

5-second recall

More data $≠$ less bias. Fix the sample, not just the size.

12. Variables and Assignment

The big idea

A variable is a named storage location whose value can change while a program runs; the assignment operator ($≤ftarrow$ in AP pseudocode) stores a new value, overwriting whatever was there before.

Must know

variable $≤ftarrow$ expression evaluates the right side first, then stores the result. x $≤ftarrow$ x + 1 takes x's current value, adds 1, and stores that back into x --- a common counter/increment pattern.

Don't confuse

Assignment ($≤ftarrow$, one-directional, changes a value) vs.\ equality/comparison ($=$, checks whether two values are equal, used inside conditions) --- AP pseudocode uses $≤ftarrow$ specifically to avoid this ambiguity.

Exam trap

In a trace-the-code question, students evaluate the right-hand expression using the variable's NEW value instead of its value BEFORE the assignment line executes.

5-second recall

$≤ftarrow$ stores. Evaluate the right side first, using OLD values.

13. Data Abstraction: Lists

The big idea

A list groups multiple related values under a single name so an algorithm can process many pieces of data with the same code instead of writing a separate variable for each item.

Must know

In AP pseudocode, list indices start at 1 (list[1] is the first element). Key operations: LENGTH(list), APPEND(list, value) adds to the end, INSERT(list, i, value) inserts at position i, REMOVE(list, i) deletes the item at position i.

Don't confuse

AP pseudocode lists are 1-indexed, while many real programming languages (Python, Java, JavaScript) are 0-indexed --- always check which convention a given question uses.

Exam trap

The single most common slip on both the MCQ exam and the Create PT: assuming list[0] is the first element in AP pseudocode, causing an off-by-one error when tracing or writing loop bounds.

5-second recall

AP pseudocode lists start at index 1, not 0.

14. Sequencing, Selection, and Iteration

The big idea

Every algorithm is built from exactly three control structures: sequencing (steps run in order), selection (a branch chooses between paths based on a condition), and iteration (a block repeats).

Must know

Selection: IF(condition)/ELSE IF(condition)/ELSE. Iteration: REPEAT n TIMES (fixed count), REPEAT UNTIL(condition) (repeats until the condition becomes true, checked before each pass), and FOR EACH item IN list (runs once per list element).

Don't confuse

REPEAT UNTIL(condition) stops when the condition becomes TRUE --- the opposite logic of a ``while this is true, keep going'' loop; mixing this up flips how many times the loop runs.

Exam trap

Students trace a REPEAT UNTIL loop and stop it as soon as the condition is first checked as false, instead of continuing to repeat until it becomes true.

5-second recall

REPEAT UNTIL $arrow$ stops when condition turns TRUE.

15. Boolean Expressions and Logical Operators

The big idea

A Boolean expression evaluates to exactly one of two values, TRUE or FALSE, and is what selection/iteration structures use to decide which path to take or whether to keep repeating.

Must know

Relational operators: $=,≠,>,<,≥q,≤q$. Logical operators combine Booleans: NOT (flips true/false), AND (true only if both are true), OR (true if at least one is true).

Don't confuse

AND vs.\ OR --- an AND of two conditions is stricter (needs both true) than an OR of the same two conditions (needs only one true).

Exam trap

Applying NOT to a compound expression, students mis-negate NOT(a AND b) as (NOT a) AND (NOT b) instead of the correct (NOT a) OR (NOT b).

5-second recall

NOT(a AND b) = (NOT a) OR (NOT b) --- flip and flip the operator too.

16. Procedures and Parameters

The big idea

A procedure (function/method) packages a named, reusable sequence of instructions that can be called multiple times, optionally taking parameters that customize its behavior each time it's called.

Must know

PROCEDURE name(parameter1, parameter2) defines a procedure; RETURN(value) sends a value back to the caller and ends execution. A parameter is the placeholder name in the definition; an argument is the actual value passed in when the procedure is called.

Don't confuse

Parameter (the variable name listed in the procedure's definition) vs.\ argument (the specific value supplied at the call site) --- exam wording uses both terms precisely.

Exam trap

On the Create PT, a procedure that has a parameter but is only ever called once, or always called with the same hard-coded value, does NOT satisfy the requirement that the parameter change what the procedure does --- it must be called with different arguments that visibly change behavior.

5-second recall

Parameter = placeholder in the definition. Argument = real value at the call.

17. Procedural Abstraction, Libraries, and APIs

The big idea

Once a procedure is written and tested, other code can call it without knowing how it works internally --- this lets programmers build on existing libraries/APIs instead of reinventing every low-level operation.

Must know

An API (Application Programming Interface) exposes a set of procedures another program can call, hiding the implementation. Using a library/API speeds up development and reduces bugs because the underlying code has already been tested by others.

Don't confuse

Using an API/library call vs.\ writing the same functionality from scratch --- both can produce the same output, but only the API call counts as abstraction being USED, not created.

Exam trap

Students assume calling any pre-built procedure automatically satisfies the Create PT's ``student-developed procedure'' requirement --- it does not; that specific required procedure must be written by the student, not just an API call.

5-second recall

APIs let you call code you didn't write and don't need to understand.

18. String Manipulation

The big idea

Strings (sequences of characters) support their own operations --- accessing individual characters, finding substrings, concatenating --- letting programs process and transform text data.

Must know

Common operations: concatenation (joining strings together), finding a string's length, and accessing/extracting a substring. Strings are often treated like lists of characters for indexing purposes.

Don't confuse

Concatenation (joining two strings end-to-end, e.g., ``cat'' + ``fish'' = ``catfish'') vs.\ numeric addition --- combining two strings that look like numbers (``5'' and ``3'') concatenates to ``53,'' it does not add to 8.

Exam trap

A trace question mixes a numeric variable and a string variable in an expression; students perform arithmetic addition when the pseudocode intends string concatenation, or vice versa.

5-second recall

``5'' + ``3'' as strings $arrow$ ``53,'' not 8.

19. Traversing and Processing Lists

The big idea

Because a list groups many values, algorithms almost always process it with a loop that visits (``traverses'') each element once, commonly to search for a value, compute a total, or transform every element.

Must know

A FOR EACH item IN list loop automatically visits every element in order. A counting loop using indices (tracking position i) is used when the position itself matters, e.g.\ comparing neighboring elements.

Don't confuse

Traversing to search (can stop early once found) vs.\ traversing to process every element (must visit all, e.g., summing) --- a summing algorithm that stops early gives a wrong (too small) total.

Exam trap

In a ``search for a value'' trace, students let the loop keep running after the target is found, then trace extra unnecessary iterations, sometimes mis-reporting the final matched index.

5-second recall

FOR EACH $arrow$ visits every item automatically, in order.

20. Algorithm Efficiency

The big idea

Different algorithms that produce the same correct result can take drastically different amounts of time depending on input size, so algorithms are compared by how their running time grows as input size grows, not by their runtime on one specific input.

Must know

An efficient algorithm's runtime grows manageably as input size $n$ grows (e.g., proportional to $n$). An inefficient algorithm's runtime can grow so fast (e.g., proportional to $2^n$) that even a fast computer can't finish it for large $n$. A heuristic finds a good-enough, not always optimal, solution quickly when no efficient exact algorithm is known.

Don't confuse

An algorithm that is slow on one particular input vs.\ one that is inefficient in general --- efficiency is about how runtime scales as $n$ grows large, not about a single run's speed.

Exam trap

Students assume ``brute force'' (checking every possibility) is always bad --- it's the correct choice when $n$ is small enough that its runtime is still reasonable; brute force only becomes impractical as $n$ grows large.

5-second recall

Efficiency = how runtime SCALES with input size, not one run's speed.

21. Undecidable Problems

The big idea

Some problems cannot be solved by ANY algorithm, no matter how much time or computing power is available --- these are called undecidable problems, a fundamentally different category from problems that are merely slow.

Must know

The classic example is the halting problem: no general algorithm can always correctly determine, for every possible program and input, whether that program will eventually stop running or run forever.

Don't confuse

Undecidable (provably impossible for any algorithm to always solve correctly) vs.\ merely inefficient (solvable, just impractically slow) --- more computing power can eventually help an inefficient problem but can never solve an undecidable one.

Exam trap

Students describe a problem as ``undecidable'' just because it's hard or would take a long time to run --- undecidability is a much stronger, formally proven claim, not a synonym for ``difficult.''

5-second recall

Undecidable = provably impossible for ANY algorithm, ever --- not just slow.

22. Simulations

The big idea

A simulation is a computer program that models a real-world or hypothetical process, letting people study, test, or predict outcomes that would be too costly, dangerous, slow, or impossible to test in reality.

Must know

Simulations often use randomness (RANDOM(a, b) in AP pseudocode returns a random integer from a to b, inclusive) to model unpredictable real-world variation. Simulations trade off accuracy for speed/cost/safety and always simplify the real system in some way.

Don't confuse

A simulation (a simplified, running model used to explore/predict behavior) vs.\ the real phenomenon itself --- a simulation's results are only as trustworthy as the assumptions built into the model.

Exam trap

Students treat a simulation's output as guaranteed real-world fact rather than as a prediction dependent on the model's simplifying assumptions --- the exam rewards recognizing simulation limitations.

5-second recall

Simulations model reality --- faster/safer/cheaper, but only as good as their assumptions.

23. Testing with Random Values and Program Robustness

The big idea

Testing a program only with ``typical'' expected inputs misses bugs that appear at boundaries or with unusual/random inputs --- robust programs are tested against edge cases and unpredictable input values.

Must know

Edge cases include empty lists, the smallest/largest allowed values, zero, and negative numbers where they weren't expected. RANDOM(a, b) is often used in test generation to efficiently try many varied inputs.

Don't confuse

Testing with typical/expected values (confirms the ``normal'' case works) vs.\ testing edge/boundary cases (confirms the program doesn't break at the limits) --- both are necessary; passing only typical-case tests does not prove correctness.

Exam trap

A scenario shows a program tested only with a few ``nice'' numbers; students conclude the program is fully correct, missing that it was never tested against an edge case (like an empty list or 0) where it actually fails.

5-second recall

Typical-case tests pass $≠$ program is correct --- always test the edges.

24. Internet Architecture and Packets

The big idea

The Internet is a network of independently operating networks that all agree to communicate using shared, open protocols --- no single organization owns or controls it, which is central to its scalability and reliability.

Must know

Data sent across the Internet is broken into small units called packets, each labeled with sender/destination addresses, sent independently (possibly by different routes), and reassembled in order at the destination.

Don't confuse

The Internet (the global physical/logical network infrastructure --- routers, cables, protocols) vs.\ the World Wide Web (a system of linked documents that runs ON TOP of the Internet using HTTP) --- the Web is one application that uses the Internet, not the Internet itself.

Exam trap

Students use ``Internet'' and ``Web'' interchangeably on questions that specifically distinguish the transport infrastructure from the application layer built on top of it.

5-second recall

Internet = the network. Web = pages/documents that ride on top of it.

25. Protocols

The big idea

A protocol is an agreed-upon set of rules that lets different devices, built by different manufacturers running different software, communicate successfully --- protocols make the Internet's openness and interoperability possible.

Must know

TCP/IP breaks data into packets and routes/reassembles them reliably. HTTP/HTTPS governs transferring web pages (the ``S'' adds encryption). DNS (Domain Name System) translates human-readable domain names (example.com) into numeric IP addresses.

Don't confuse

An IP address (a numeric identifier for a device on the network) vs.\ a domain name (a human-readable name that DNS translates into an IP address) --- domain names exist only for human convenience; the network actually routes using IP addresses.

Exam trap

A question describes DNS failing or being unavailable, and students think the Internet itself is down --- but the underlying IP-address-based routing can still work; only the human-friendly name lookup fails.

5-second recall

DNS translates names $arrow$ IP addresses, for humans' convenience only.

26. Fault Tolerance

The big idea

A fault-tolerant system continues operating correctly even when some individual component fails, by building in redundancy so no single point of failure can bring down the whole system.

Must know

The Internet's packet-based, decentralized design provides fault tolerance --- if one router or path fails, packets can be automatically rerouted through other available paths to still reach their destination.

Don't confuse

Fault tolerance (the system as a whole keeps working despite a component failing) vs.\ fixing/repairing the failed component itself --- fault tolerance is about resilience and redundancy, not repair.

Exam trap

Students assume fault tolerance means ``the system never has failures'' --- it actually means individual failures are expected and tolerated without taking down the overall system.

5-second recall

Fault tolerance = system survives even when a PART of it fails.

27. Parallel and Distributed Computing

The big idea

Breaking a large computational problem into smaller pieces that run at the same time (parallel computing) or across multiple separate computers (distributed computing) can solve problems faster than one processor working alone.

Must know

Sequential computing performs one task at a time. Parallel computing performs multiple subtasks simultaneously on multiple processors. Distributed computing spreads tasks across multiple independent, often networked, computers to combine their computing power.

Don't confuse

Parallel computing (typically multiple processors within one system working simultaneously) vs.\ distributed computing (multiple separate, often geographically spread-out computers cooperating) --- distributed systems add communication overhead that pure parallel systems within one machine don't have.

Exam trap

Students assume splitting any task among more processors always makes it proportionally faster --- the exam tests recognizing that tasks with dependencies (steps that must happen in order) can't be fully parallelized, limiting the speedup.

5-second recall

More processors help only for tasks that can be SPLIT UP --- dependent steps limit the speedup.

28. Beneficial and Harmful Effects of Computing Innovations

The big idea

Nearly every computing innovation produces a mix of beneficial and harmful effects, often for different groups of people at the same time --- evaluating an innovation means weighing both sides, not assuming new technology is purely good or bad.

Must know

The same innovation (social media, GPS, facial recognition, AI-driven algorithms) can be described with legitimate beneficial effects (efficiency, connection, access) AND legitimate harmful effects (privacy loss, job displacement, unequal access, misuse) simultaneously.

Don't confuse

An effect being ``unintended'' vs.\ ``harmful'' --- an unintended effect can be beneficial or harmful; the exam separately tests whether students identify effects as intended/unintended AND as beneficial/harmful.

Exam trap

Students pick only the most obvious/well-known effect of an innovation, missing that the correct answer often requires identifying a DIFFERENT effect than the one already described in the question stem.

5-second recall

Every innovation $arrow$ has BOTH benefits and harms, often for different groups.

29. The Digital Divide

The big idea

Unequal access to computing devices, reliable Internet, and the skills to use them creates a ``digital divide'' that can reinforce or worsen existing social and economic inequalities.

Must know

The digital divide includes gaps in physical access (devices, broadband) and in the skills/literacy needed to use technology effectively. It can occur across socioeconomic status, geography (urban vs.\ rural), age, and countries (developed vs.\ developing).

Don't confuse

The digital divide (unequal ACCESS to computing/Internet) vs.\ the participation gap (unequal ability to meaningfully PARTICIPATE/create using technology even when basic access exists) --- having a device is not the same as having the skills or opportunity to use it fully.

Exam trap

Students assume providing devices alone closes the digital divide --- exam scenarios test recognizing that access without training, infrastructure, or affordability doesn't fully solve the problem.

5-second recall

Digital divide = unequal ACCESS. Closing it needs devices AND skills AND connectivity.

30. Crowdsourcing and Citizen Science

The big idea

Computing enables crowdsourcing --- gathering input, data, labor, or ideas from a large, distributed group of people, often via the Internet --- to accomplish tasks that would be slow or impossible for a small team alone.

Must know

Examples: collaboratively edited encyclopedias, citizen science projects (volunteers classify images/data for researchers), open-source software development, and crowdfunding. Crowdsourcing scales problem-solving but raises challenges around quality control and verifying contributor accuracy.

Don't confuse

Crowdsourcing (structured collection of contributions from a large public group toward a specific goal) vs.\ general social media use (posting/sharing without a coordinated collective task) --- crowdsourcing implies an organized project soliciting specific input.

Exam trap

Students assume crowdsourced information is automatically reliable because ``many people contributed'' --- the exam tests recognizing crowdsourced data still needs verification, since more contributors doesn't guarantee accuracy.

5-second recall

Crowdsourcing = many people, one coordinated task --- still needs quality checks.

31. Intellectual Property and Open Access

The big idea

Creative and computing works (software, images, music, writing) are protected by intellectual property law by default, but creators can choose to share their work more openly using explicit licenses.

Must know

Copyright automatically protects original creative work. Open-source software makes source code publicly available to view, use, and modify, often under a specific license. Creative Commons licenses let creators grant specific public permissions (e.g., allow sharing, require attribution, restrict commercial use) while keeping some rights.

Don't confuse

``Publicly available online'' vs.\ ``legally free to use/reuse'' --- content being viewable on the Internet does NOT automatically mean it is free of copyright protection or safe to reuse without permission.

Exam trap

Students assume any image or code found online is free to use because it was easy to access --- the exam rewards recognizing that legal reuse requires checking its actual license or copyright status.

5-second recall

Findable online $≠$ free to use. Check the license.

32. Cybersecurity and Encryption

The big idea

Because data travels across a network many other devices can potentially access, protecting it requires deliberate security measures --- encryption being the primary tool for keeping data confidential in transit or storage.

Must know

Encryption scrambles data (plaintext) into unreadable ciphertext using a key, reversible only with the correct key. Symmetric encryption uses the SAME key to encrypt and decrypt (must be securely shared beforehand). Asymmetric (public key) encryption uses a public key to encrypt and a different private key to decrypt, avoiding the need to share a secret key in advance.

Don't confuse

Symmetric encryption (one shared secret key for both directions) vs.\ asymmetric/public-key encryption (a public key anyone can use to encrypt, but only the matching private key can decrypt) --- HTTPS relies on public-key techniques to safely establish a shared session key.

Exam trap

Students think a longer/more complex password alone is ``encryption'' --- encryption specifically means mathematically transforming the data itself, not just adding an access barrier like a login password.

5-second recall

Symmetric = 1 shared key. Asymmetric = public key locks, private key unlocks.

33. Safe Computing Practices

The big idea

Because computing systems store and transmit sensitive personal data, deliberate safe-computing practices --- both technical and behavioral --- are needed to protect that data from unauthorized access or misuse.

Must know

Malware is software designed to harm or exploit a system (viruses, worms, ransomware, spyware, keyloggers). Phishing uses deceptive messages/sites to trick people into revealing sensitive info. Multi-factor authentication (2+ independent proofs of identity) protects accounts even if one credential is stolen.

Don't confuse

A computer virus (malicious code that attaches to and needs a host program plus user action to spread) vs.\ a worm (self-replicating malware that spreads across a network on its own).

Exam trap

Students label any suspicious email as ``a virus'' --- the exam distinguishes phishing (a social-engineering scam to trick users into revealing info) from malware (malicious code itself) as separate, specifically defined threats.

5-second recall

Virus needs a host + user action. Worm spreads itself, no help needed.

34. Algorithmic and Data Bias

The big idea

Algorithms and the data used to train/run them are created by people, and can therefore encode and even amplify existing human biases --- producing systematically unfair outcomes for particular groups even when no individual intends harm.

Must know

Bias can enter an algorithm through unrepresentative training data, biased design choices (which features to include), or biased human decisions embedded into rules. Once deployed at scale, a biased algorithm can affect enormous numbers of people faster and more consistently than a single biased human decision-maker.

Don't confuse

Bias caused by the underlying DATA vs.\ bias caused by the ALGORITHM'S design/rules themselves (which factors to weigh, and how) --- a perfectly unbiased data set can still produce biased outcomes if the algorithm's logic treats groups unfairly.

Exam trap

Students assume ``the computer/algorithm is neutral because it's just math'' --- the exam specifically tests recognizing that algorithms reflect the biases, intentional or not, of their human designers and data.

5-second recall

Algorithms aren't neutral --- they reflect the bias of their data AND their designers.

POWER BOX 1 --- Key Numbers & Data Reference

The big idea

A short list of numbers and encoding facts shows up repeatedly across the MCQ exam.

5-second recall

$2^n$ values (0 to $2^n-1$); 8 bits/byte; lists start at 1; 70 MCQ/120 min/70%; Create PT/30%/6 pts.

POWER BOX 2 --- Pairs Students Always Confuse

The big idea

Precision vocabulary is the fastest, cheapest way to gain or lose points on the MCQ exam --- these pairs are the exam's favorite traps.

5-second recall

When two terms sound alike, ask: does it store or compare? Hide detail or add it? One key or two? Access or ability?

POWER BOX 3 --- Who/What Does What: Core Systems Taxonomy

The big idea

The exam frequently tests matching a networking or systems term directly to its role --- memorize this list as pairs.

5-second recall

Client asks, server answers; router forwards; DNS names; API hides; database stores; firewall filters.

POWER BOX 4 --- Required Reference: AP CSP Pseudocode Conventions

The big idea

AP CSP is language-agnostic, so both the MCQ exam and code-tracing questions use one official pseudocode --- know every symbol and command cold.

5-second recall

$≤ftarrow$ assigns; IF/ELSE selects; REPEAT n TIMES/REPEAT UNTIL/FOR EACH iterate; lists start at 1.

POWER BOX 5 --- How to Trace Pseudocode: A Worked Method

The big idea

Code-tracing questions reward a consistent, repeatable process for turning unfamiliar pseudocode into a confidently correct final value.

5-second recall

Table $arrow$ line by line $arrow$ old values first $arrow$ re-check every loop pass $arrow$ trace calls fully.

POWER BOX 6 --- Exam Format & Create PT Submission Playbook

The big idea

Knowing the exact structure of both the MCQ exam and the Create Performance Task lets you pace your studying and your submission checklist correctly.

5-second recall

MCQ: 70 Qs/120 min/70%. Create PT: code + 1-min video + PPR (code images only) via Portfolio, then 2 written-response Qs during the exam, 6 pts, 30%.

POWER BOX 7 --- The Create PT Pipeline, Step by Step

The big idea

Treating the Create Performance Task as a defined pipeline --- not one big last-minute push --- is what actually satisfies the rubric.

5-second recall

Idea $arrow$ design $arrow$ build in pieces $arrow$ test edge cases $arrow$ record ( 1 min) $arrow$ PPR (code images only) $arrow$ submit final $arrow$ written responses on exam day.

POWER BOX 8 --- Binary & Data-Size Conversion Guide

The big idea

When a question asks you to convert or calculate with binary values and file sizes, use this checklist instead of guessing.

5-second recall

Binary$≤ftrightarrow$decimal via place values; $2^n≥q k$ for bits needed; pixels $×$ bits/pixel $$ 8 = bytes.

POWER BOX 9 --- AP Trap Statements

The big idea

These statements sound intuitively true but are exactly the kind of overgeneralization the exam is designed to catch --- know why each is wrong.

5-second recall

Before trusting a ``sounds true'' statement, ask: does it sneak in index 0, partial credit, or ``the computer is neutral''?

POWER BOX 10 --- Final 15-Minute Review

5-second recall

5 Big Ideas, 34 topics, one pseudocode standard, 70 MCQ + a 6-point Create PT --- if you can explain WHY each pair above is distinct, you're ready.