AP CSP - Practice MCQ Check 3/4/27

Topic performance, most-missed analysis, study strategy, and question-by-question corrections in one Tailwind post.

MCQ Topic Performance Chart

Visual performance by AP CSP topic
MCQ topic performance by topic

Most Missed Topics + Improvement Plan

Priority by lowest scores

Highest Priority (0%)

Plan format: what I will do + how I will do it consistently before the next MCQ.

  1. 3.1 Variables and Assignments: I will complete one trace-table drill per day (old value → operation → new value) and circle the exact assignment order before choosing an answer.
  2. 3.3 Mathematical Expressions: I will rewrite each expression in plain words first, then solve 5 short order-of-operations practice items daily and check each step, not just the final number.
  3. 3.5 Boolean Expressions: I will make a mini truth table for every AND/OR/NOT question, test at least two edge cases, and only submit after verifying which combinations evaluate to true.
  4. 3.6 Conditionals: I will translate each IF/ELSE branch into a one-line meaning and run two sample inputs per branch to confirm no path is skipped.
  5. 3.17 Algorithmic Efficiency: I will compare algorithms by counting operations explicitly (work per loop × number of loops) and write the count next to each choice before selecting.

Second Priority (Low Performance)

  • 2.1 Binary Numbers (40%) + 3.12 Calling Procedures (40%): I will do a 10-minute daily binary conversion set (decimal↔binary + RGB examples) and trace one procedure call stack showing parameters, return value, and final output.
  • 2.3, 3.7, 3.9, 3.15, 3.16 (50-57% range): I will complete one mixed practice problem per topic every two days, then label what the question asks for (total, rate, average, or condition) before solving.

Execution schedule: highest-priority topics first in each study session, then one second-priority mixed review set to build retention.

Question-Type Cheatsheet (what to do during MCQ)

  • Boolean logic / logic gates: make a 2x2 mini truth table (TT, TF, FT, FF), evaluate each gate in order, then check the final output row that matches the answer choice.
  • Conditionals and ranges: rewrite the condition as a number line (for example, target - 10 to target + 10), then test one value inside and one value outside the range.
  • Variables, assignments, and loops: use a 3-column trace table (step, variable before, variable after) and do not skip iterations; most errors come from skipped updates.
  • Procedure calls and return values: write input values next to parameters, compute inside the procedure once, and box the returned value before applying it to the caller.
  • Algorithms and runtime comparison: count exact work (calls per loop × loop repetitions) for each option, then compare totals instead of relying on code appearance.
  • Lists and duplicates: list intermediate results after each operation (append/remove/filter), then remove duplicates only when instructed and compare final lengths/contents.
  • Binary, bits, and RGB: convert one component at a time, check with powers of two (1,2,4,8,16,32,64,128), and verify final decimal triplet before naming the color.
  • Graphs (total vs average vs rate): first label what the prompt asks, then use graph shape to infer trend and only then compare specific values.
  • Internet concepts (TCP/IP, IPv4/IPv6, metadata): match each term to its core role (rules/addressing/data-about-data) and eliminate options that describe a different concept.
  • Simulation / probability: convert each random range into probability fractions, confirm all probabilities add to 1, then match those fractions to the scenario.

Strengthening My AP CSP MCQ Skills

What I need to do differently
  1. Slow down on Boolean logic and test values with mini truth tables.
  2. Trace algorithms step by step using a variable-change table.
  3. Rewrite ranges in plain English before selecting an answer.
  4. Practice binary conversions daily and connect to powers of two.
  5. Explain list logic in one sentence instead of memorizing patterns.
  6. Read graph trends by shape first, then compare values.
  7. Review networking vocabulary (TCP/IP, IPv4 vs IPv6, metadata).
  8. Compare runtimes by operation counts, not guessing.

MCQ Wrap-Up Expectations and Plan

Pre-MCQ execution plan

What I need to study more

  • Boolean logic and logic gates
  • Algorithm tracing and loop flow
  • Conditionals and range checks
  • Binary, bits, and data representation
  • Lists, duplicates, and formula setup
  • Graph interpretation and rates
  • Internet concepts
  • Efficiency and runtime reasoning

How I will improve

  • Create mini truth tables and test 2-3 cases.
  • Trace variable old/new values for full loop runs.
  • Do daily binary drills (conversions, RGB, bit capacity).
  • Rewrite formulas in words before selecting.
  • Compare graph shape first, then total vs average target.
  • Use one-page internet vocabulary notes.
  • Count operations explicitly for runtime comparisons.

During the next MCQ

  1. Annotate each prompt before selecting.
  2. Trace one concrete example for logic/algorithm questions.
  3. Use quick checkpoints for binary and ranges.
  4. Eliminate at least one wrong option with evidence.
  5. Finish with a full answer-choice verification check.

MCQ Corrections + Why I Was Wrong

Question-by-question reflection
  1. Logic gates circuit: “For which input values does the circuit output true?” My choice: A | Correct: C. Why I was wrong: I only checked one branch quickly; with choice A, one input to the final AND is false, so the overall output is false.
  2. Robot in a grid (Programs I and II): “Which statement best describes correctness of both programs?” My choice: A | Correct: not A (Program II works). Why I was wrong: I assumed Program II failed without fully tracing all moves to the gray square.
  3. Flight simulation software: “Which is LEAST likely an advantage for pilot training?” My choice: B | Correct: C. Why I was wrong: I mixed up usefulness with realism; simulations are valuable but not more realistic than real flights.
  4. Science museum ticket algorithm: “Which code segment correctly displays ticket cost using age and includesTour?” My choice: C | Correct: B. Why I was wrong: I treated conditions as a single path, but age surcharge and tour surcharge can both apply independently.
  5. RGB color from binary triplet: “(11111111, 11111111, 11110000) is which color?” My choice: C | Correct: A (Ivory). Why I was wrong: I rushed the match; converting gives (255, 255, 240), which is Ivory.
  6. Binary triplet for indigo: “What is the binary RGB for (75, 0, 130)?” My choice: A | Correct: C. Why I was wrong: my decimal-to-binary conversion for 75 was off; 75 is 01001011.
  7. Display digits right-to-left algorithm: “What should missing step 3 be?” My choice: C | Correct: B. Why I was wrong: I didn’t preserve the proper update order; show remainder, then replace number with integer quotient.
  8. Program A vs Program B outputs: “How do displayed values compare?” My choice: D | Correct: not D. Why I was wrong: I guessed from structure instead of tracing; both programs display ten values.
  9. Cloud app registered-user growth graph: “Best description for years 1–8?” My choice: A | Correct: C. Why I was wrong: I generalized one trend; growth roughly doubles early, then becomes closer to constant-rate later.
  10. Average data stored per user graph: “Best description across years 1–8?” My choice: D | Correct: near constant average. Why I was wrong: I focused on rising totals, but similar graph shapes imply roughly stable per-user average.
  11. Spinner simulation: “Which code segment matches a spinner where Move 1 space is six times each other region?” My choice: C | Correct: different option. Why I was wrong: I didn’t validate all probabilities; intended model is 6/8 for move 1 and 1/8 each for the other outcomes.
  12. Image metadata (LEAST likely): “Which item is least likely metadata?” My choice: C | Correct: D. Why I was wrong: I treated all related file info as metadata, but a duplicate image copy is data, not metadata.
  13. Swap alpha and beta using temp: “Which code segments correctly interchange values?” My choice: A | Correct: B (I and III only). Why I was wrong: I missed that segment II overwrites one value too early, so both variables end up the same.
  14. Course grade drop-lowest (version set 1): “Which code calculates finalGrade correctly?” My choice: B | Correct: D. Why I was wrong: I used the wrong operation order; subtract minimum first, then divide by LENGTH(scores) - 1.
  15. Course grade drop-lowest (version set 2): “Same scoring question repeated.” My choice: B | Correct: D. Why I was wrong: same issue as above; division happened too early before removing the minimum score.
  16. DrawLine missing code: “Which replacement draws the target figure correctly?” My choice: C | Correct: A. Why I was wrong: I updated endY before drawing; correct sequence draws first, then decrements endY.
  17. IPv6 vs IPv4 benefit: “Best benefit of IPv6?” My choice: A | Correct: B. Why I was wrong: I chose a distractor; the core benefit is vastly larger address space.
  18. Within 10 points boolean expression: “Which expression is true iff score is within 10 of target?” My choice: A | Correct: D. Why I was wrong: I failed to write a two-sided bound: target - 10 ≤ score ≤ target + 10.
  19. Minimum bits for 100 staff members: “How many bits are required for unique IDs?” My choice: A | Correct: C (7 bits). Why I was wrong: I didn’t check powers of two carefully; 2^6 is 64, but 2^7 is 128.
  20. Reasonable-time algorithms: “I: 2n accesses, II: n^2 accesses, III: 10 accesses. Which are reasonable?” My choice: A | Correct: D. Why I was wrong: I eliminated quadratic too quickly; in AP CSP framing, all listed runtimes are considered reasonable.
  21. Bacteria simulation statements: “Which statements about loop behavior/output are true?” My choice: D | Correct: A (I only). Why I was wrong: I misread output meaning; it displays net change from start, not average-per-hour and not just final population.
  22. GetPrediction execution time: “How do Version I and II runtimes compare?” My choice: C | Correct: D. Why I was wrong: I compared visually instead of counting calls; Version I makes 4 calls, Version II makes 9.
  23. Purpose of TCP/IP: “What do these protocols do?” My choice: B | Correct: C. Why I was wrong: I confused standards with security; TCP/IP establishes common communication rules between devices.
  24. Count distinct values appearing in both lists: “Which code correctly assigns count?” My choice: B | Correct: D. Why I was wrong: I didn’t remove duplicates at all required stages before length comparison.
  25. Perfect numbers program (remove two lines): “Which two lines must be removed?” My removals: line 5 and line 9 | Correct: line 5 and line 9. Why this works: line 5 incorrectly increments count every loop, and line 9 can skip values by extra incrementing.

Quick pattern for next time

  1. Translate prompts into tiny test cases first.
  2. Verify all conditional combinations and edge values.
  3. Track loop variables each iteration to avoid skips/infinite loops.
  4. Convert binary/decimal one component at a time.
  5. Check operation counts for algorithm comparisons.