2020 AP CSA Free Response Questions | COVID Format — Solutions & Scoring
2020 AP CSA Free Response Questions
Note: The 2020 exam was a special at-home format due to COVID-19. It contained only 2 free-response questions instead of the standard 4. It is useful for targeted practice but not representative of the current exam format.
Complete Java solutions, scoring rubrics, common mistakes, and exam tips for every 2020 AP CSA FRQ. All question text verified from the official College Board PDF.
The 2020 AP CSA FRQs
The 2020 exam was a special at-home format due to COVID-19, with only two free-response questions. Here are both questions with direct links to full solutions.
Gizmo / OnlinePurchaseManager
countElectronicsByMaker filters items that are both electronic AND from the specified maker. hasAdjacentEqualPair checks consecutive pairs in an ArrayList using a two-pointer approach.
CheckDigit
isValid extracts check digit using % 10, removes it via / 10, then calls getCheck on the remaining number and compares. Part (c) required writing a class structure without Java syntax.
Quick Reference: Both 2020 FRQs
| FRQ | Problem | Type | Difficulty | Key Skill |
|---|---|---|---|---|
| FRQ 1 | Gizmo / OnlinePurchaseManager | ArrayList | Medium | Compound boolean filter, adjacent-element loop (i and i+1) |
| FRQ 2 | CheckDigit | Methods | Medium | % 10 and / 10 digit extraction, written class design |
How Hard Were the 2020 AP CSA FRQs?
Context: special COVID format — not representative of current exams. The 2020 exam was shortened to 45 minutes with two questions. This makes it useful for targeted practice on specific skills, but not as a full-length simulation.
FRQ 1 (Gizmo) combined two distinct methods: a compound-condition ArrayList filter and an adjacent-pair detection loop. FRQ 2 (CheckDigit) required digit extraction via % 10 and / 10, plus an unusual written response part (c) that asked for class design without requiring Java syntax.
FRQ 1: Gizmo — Medium
Two parts: countElectronicsByMaker needed a compound && filter across an ArrayList. hasAdjacentEqualPair required a loop from index 0 to size-2 (not size-1) comparing adjacent elements. Off-by-one on the loop bound was the main error.
FRQ 2: CheckDigit — Medium
isValid used % 10 to extract and / 10 to remove the check digit, then compared against getCheck(). Part (c) was a written description of a class structure — unique to 2020. Students unfamiliar with non-code FRQ responses often left this incomplete.
About the 2020 Exam Format
The 2020 AP CSA exam was a special at-home format due to COVID-19. Instead of the standard 4-FRQ format used in all other years, students answered 2 questions: an ArrayList-focused question (FRQ 1, 25 minutes) and a Methods & Control Structures question (FRQ 2, 15 minutes). There was no Class Writing or 2D Array question. For the standard 4-FRQ format, see any other year in the FRQ Archive.
How to Use This Page
For best results: attempt each FRQ yourself first (set a 22-minute timer), then open the solution page and compare your code to the sample answer line by line. Pay special attention to the scoring rubric — you will often find you earned more points than you thought.
- Click any FRQ card above to open the full solution page.
- Each solution page includes the original question text, a complete Java solution, scoring rubric breakdown, and common mistakes to avoid.
- Use the FRQs by Topic page to find more practice on any specific concept.
- See all years at the FRQ Archive.
Frequently Asked Questions About the 2020 AP CSA FRQs
Why did the 2020 AP CSA exam only have 2 FRQs?
The 2020 exam was a shortened at-home format due to COVID-19 school closures. College Board reduced the exam to 45 minutes with two questions: Question 1 (25 minutes, ArrayList focus) and Question 2 (15 minutes, Methods focus). There was no Class Writing or 2D Array question.
What was unusual about 2020 FRQ 2 CheckDigit part (c)?
Part (c) asked students to describe a class design in writing without requiring valid Java syntax. This was unique to the 2020 at-home format and did not appear in any other year's exam.
What is the most common mistake on 2020 FRQ 1 Gizmo?
In countElectronicsByMaker, forgetting to check BOTH conditions (electronic AND maker match) with a compound && expression. In hasAdjacentEqualPair, using an off-by-one loop bound that either misses the last pair or throws an IndexOutOfBoundsException.
Is the 2020 exam representative of what appears on current AP CSA exams?
No. The 2020 exam was a special COVID format. Current exams (2021 onward) use the standard 4-FRQ format: Methods, Class Writing, ArrayList, and 2D Array. Practice the 2019 or 2021-2025 exams for the most representative preparation.
Get in Touch
Whether you're a student, parent, or teacher — I'd love to hear from you.
Just want free AP CS resources?
Enter your email below and check the subscribe box — no message needed. Students get daily practice questions and study tips. Teachers get curriculum resources and teaching strategies.
Message Sent!
Thanks for reaching out. I'll get back to you within 24 hours.
tanner@apcsexamprep.com
Courses
AP CSA, CSP, & Cybersecurity
Response Time
Within 24 hours
Prefer email? Reach me directly at tanner@apcsexamprep.com