O Ordering Information
. Shop online
. Fill out order form
. Contact us

 O Book home pages
. Java Methods
. Coding in Python
. Be Prepared Comp Sci
. Be Prepared Calculus
. 800 Questions in Calculus

 O Download files
. Students
. Teachers

 O Coding in Python and Discrete Math
. Test Package
. Getting Started with Python

 O Java Methods
. Test Package
. PowerPoints
. Syllabi
. Getting started/help
. Papers/projects
. AP Summer Institutes
. What teachers say...

 O AP* test prep
. Be Prepared for the AP CS Exam
. 250 MC Questions in Java
. Be Prepared for the AP Calculus Exam
. 800 Questions in Calculus
. Calculus Calculator Labs
. What teachers say...

 O C++
. 100 MC Questions in C++
. Free textbook

Be Prepared for the AP CS Exam Home Skylight Publishing



Be Prepared for the AP Computer Science Exam in Java

Can Students Use Any Class in Java API?

Teachers and students often ask whether an AP exam taker can use any class or method from Java API, including the latest Java features, in their solutions to the free-response questions.

The following advice has been offered in the ap-compsci forum by professor James K. Huggins (reprinted with permission):

RE: Can students use any Java class?

[Standard disclaimers apply: I'm speaking based on my experiences as a veteran reader, but I don't speak on behalf of ETS, College Board, the Development Committee, or Nate Silver.]

Short answer: yes, students can use any valid Java code... but it's risky.

Long answer:

In general, the rule is that if the solution is a valid Java solution, it's eligible for full credit.  However, let me qualify that answer in a few important ways.

  • Above all else, the rules outlined in the question take precedence.  If the question explicitly says not to use something, or (more likely) that the solution must use some other call, then not following those rules will almost certainly result in failing to earn full credit.

  • Keep in mind that the only API reference that students have during the exam is the one-page Quick Reference, which has the selected methods from the selected classes identified as part of the AP Java subset.  If students want to use other classes, they'll have to remember the structure of the calls from memory.  If they get those calls wrong, it'll certainly lead to failing to earn full credit.

  • FRQs are scored by human readers.  Now, these readers are wonderful people; it's my honor to be associated with them.  But no-one has the entire Java API memorized.  If a student uses a class from outside the AP subset, there's an extremely small (but non-zero) chance that the reader who scores that exam might not be familiar with it, and incorrectly judge those parts of the code as incorrect, failing to grant credit.  We go to great lengths to try to ensure that this doesn't happen; the leadership will dig into the APIs for those unusual solutions so that every student gets a fair assessment.  But we're only human, and I'm sure that stuff gets missed.  It's much safer to stay within the subset.
So, what do you tell your students?
  • To everyone: tell them that the questions are designed to be solved within the boundaries of the AP subset.  There's no "need" to bring in outside features.

  • To the fearful students: if they don't see the "in-bounds" solution, tell them to absolutely write the "out-of-bounds" solution.  It'll usually work out.

  • To the "showoff" students: the AP exam isn't the time to use twelve different obscure features of Java in an attempt to show off, or to demonstrate that they know more than the reader.  Because if they show they know more than the reader ... they lose with a lower score.

Skylight Publishing