The following strategies for answering the free-response questions will help you on exam day.
Read the questions carefully.
The questions are usually presented in three ways: a paragraph, through code, or with an example. As you read, underline the tasks you need to accomplish as well as the variables and methods you have at your disposal. It’s important to read through preconditions and postconditions so that you’re aware of what you can expect to be true at the start of writing a method and what must be true at the conclusion of the method. Also consider the method headers carefully: they can be used to identify the parameters available to write the solution and type for the return value. While examples provide guidance and clarity in a question, avoid writing code that only suits those examples.
Keep an eye on your time.
Monitor your time carefully. Make sure not to spend too much time on any one question so that you have enough time to answer all of them. If you do work that you think is incorrect, simply put an “X” through it instead of spending time erasing it completely: crossed-out work won’t be graded.
Try to solve all parts of a question.
Many free-response questions are divided into parts such as (a), (b), and (c), with each part requiring a different response. Credit for each part is awarded independently, so you should attempt to solve each part. For example, you may receive no credit for your answer to part (a), but still receive full credit for part (b), or (c). If the answer to a later part of a question depends on the answer to an earlier part, you may still be able to receive full credit for the later part, even if that earlier answer is wrong.
Be organized and clear in your programming.
Organize, indent, assign meaningful variable names, and write neatly. Take the time to plan out your solution before beginning to write code. When writing your solution, leave room between lines of code in case you need to insert something you forgot. And remember that comments are not a substitute for correct code!
Only use classes given to you for the exam.
Avoid using classes that aren’t specifically given to you as part of the exam and aren’t part of the AP Computer Science A Course and Exam Description. While you may have developed or used other classes in your AP course (such as Date or Sort), don’t use them in your responses on the exam. The Java Quick Reference guide (.pdf/350.07KB) gives the classes and methods that are part of the AP Java subset.
Answering free-response questions from previous AP Exams is a great way to practice: it allows you to compare your own responses with those that have already been evaluated and scored. Free-response questions and scoring guidelines are available on the Exam page for AP Computer Science A.
Pay close attention to the task verbs used in the free-response questions. Each one directs you to complete a specific type of response. Here are the task verbs you’ll see on the exam:
- Assume: Suppose to be the case without any proof or need to further address the condition.
- Complete (program code): Express in print form the proper syntax to represent a described algorithm or program given part of the code.
- Implement/Write: Express in print form the proper syntax to represent a described algorithm or program.