AP CSA FRQ Guide
2016 FRQ 1: RandomStringChooser
Implement a chooser that returns each available string at most once, then use it as the base for a letter chooser in the archive prompt.
Skills Tested
What this FRQ is really practicing
Treat these skills as the study checklist. If any tag feels shaky, review that topic before attempting the full written response.
Starter Approach
How to begin without copying a solution
- 1Part A: copy input strings into private mutable state and remove each chosen item.
- 2Part B: construct the letter chooser from the array returned by the provided helper.
Write a first attempt before revealing any solution outline. Most AP CSA FRQ progress comes from tracing your own code and finding the missing case.
Common Mistakes
Mistakes to watch for while writing
Self Check
Review questions before you submit
Uses private mutable storage for available strings.
Do not mutate the constructor parameter array directly.
Chooses a random valid index.
The random index must be based on the current number of available items.
Removes the string after returning it.
A string cannot be returned again after getNext chooses it.
Returns NONE when no strings remain.
Check the empty list before choosing a random index.
Uses getSingleLetters for the letter chooser constructor.
The archive part B requires the provided helper.
Practice Links
