||Before The Exam
- Allow more than one night to review. If you have questions, you'll have time to ask someone else for help.
- Review the information about course content in the Course Description for Computer Science.
If you find anything in these sections that is not familiar to you, ask your teacher for clarification.
- "Topic Outline" lists the major topics (not necessarily language-specific) covered on the AP CS Exam.
- "Commentary on the Topic Outline" explains the Topic Outline more fully and gives some Java-language examples.
- "AP Computer Science Java Subset" (Appendix A) lists Java language features that will be tested.
- "Standard Java Library Methods Required for the A (Appendix B) or AB (Appendix C) exam." You will be given reference guides to the classes when you take the exam, but being aware of the existence of some of the less common class methods might save you time on the exam.
- Implementation classes for linked list and tree nodes (Appendix D, AB-level)
- Review all of your old tests from your AP CS course.
- Work sample problems from the Course Description and AP CS Exam review books.
- Don't spend time memorizing specific code, e.g. searches and sorts. Recognizing a binary search will help you analyze it more quickly, but no questions will require regurgitation of specific code.
- Get a good night's sleep before the exam.
- Bring pencils and a watch to the exam.
- Problems are usually placed on the exam in order of perceived difficulty. However, some topics that are generally considered difficult might be easier for you than some others; make sure you allow yourself time to try all problems.
- If you get stuck on a problem, don't waste time. Circle the number in the booklet and come back to it later.
- Glance at your watch periodically, especially if you find yourself having difficulties or getting distracted. That should help to get you back on track!
- Consult the Quick Reference documents during the exam. Be sure to call all methods with the correct parameters.
- Use the case study code as a syntax and logic guide for all problems, not just case-study problems. You can find examples of almost every kind of syntax you'll need to write or interpret.
- Know when to guess. If you can eliminate one or two of the choices, the odds are in your favor.
- Work backwards, if possible, to eliminate some answers.
- Read all of the answers before making your final decision.
Good luck, and do your best!
- Make sure you have answered the problem.
- As you first read the problem, underline, circle, or star important details.
- Watch out for "You will receive no credit if..." or "You will not receive full credit if..."
- Reread the problem definition after you think you've finished writing the code, paying close attention to the details you marked.
- Write your code to satisfy the formal definition of the problem, but check your code with all the examples provided. (They are usually chosen by the test developers to illustrate some of the special cases, and you're wasting a valuable resource if you ignore them.)
- Sometimes the pre-conditions and post-conditions outline the algorithm to solve the problem. Do not ignore them.
- Never let the beginning of a problem prevent you from getting points at the end.
- Most problems have multiple sections, and sometimes the later sections are easier than the earlier ones.
- Frequently, you will be told that you may make calls to one or more methods that you were asked to write in previous sections of the problem. The instructions might say, for example, "Assume that [method] works as specified, regardless of what you wrote in part (a). Solutions that reimplement functionality provided by this method, rather than invoking it, will not receive full credit." The best solution will probably include a call to the method written in part (a). You may earn credit for calling the method correctly, even if the code for the method you wrote for part (a) was incorrect or blank. However, if you copy the code from that method into the new section, even if it's completely correct, you will not earn full credit for your code.
- Aim for clarity in your programming.
- Organize, indent, assign meaningful variable names, and write neatly. (If you accidentally omit a curly brace, but your indentation clearly conveys your intent, you'll be given the benefit of the doubt.)
- Remember that humans will be grading your work. Be legible.
- Commenting will not help your score, except perhaps if your code is confusing and the comment enlightens the reader about what you were trying to accomplish. (However, comments are not a substitute for correct code!)
- Never give a "recipe" for the answer. If you know how to do even part of the problem, write code for the part you know. Partial credit is often awarded for having the correct loop bounds, initialization in the presence of an attempt to sum values in an array, and so on. Credit is not given for writing a description of what you would do if you had time.
- Occasionally, you'll be asked to "justify your answer." You generally won't earn any credit without a justification - a sentence or phrase is often sufficient.
- If you write two solutions to a problem, cross out the one you don't want to have graded. Don't waste time erasing it; a simple X is sufficient. (If a reader finds two solutions to a problem, and neither one is crossed out, the first one will be graded.)
- Don't waste time copying the method header or pre- and post-conditions; start writing the code just below them.
- If you run out of room:
- Find a blank page and continue your code.
- Indicate clearly what you've done, both on the page where you started the response and on the page where you continued it.
- Avoid using classes that aren't specifically given to you as part of the exam and aren't part of the Java language or the case study. 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 AP CS Exam. Good luck, and do your best!
Debbie Carter is a computer coordinator at Lancaster Country Day School in Lancaster, Pennsylvania, where she teaches computer science and assists faculty with technology integration. She is a Question Leader for the AP Exam.