AP
®
COMPUTER SCIENCE A
2011 GENERAL SCORING GUIDELINES
© 2011 The College Board.
Visit the College Board on the Web: www.collegeboard.org.
Apply the question-specific rubric first; the question-specific rubric
always
takes precedence.
Penalties: The penalty categorization below is for cases not covered by the question-specific rubric. Points can only be
deducted in a part of the question that has earned credit via the question-specific rubric, and no section may have a negative
point total. A given penalty can be assessed only once in a question, even if it occurs on different parts of that question. A
maximum of 3 penalty points may be assessed over the entire question.
Nonpenalized Errors
spelling/case discrepancies if no
ambiguity*
local variable not declared if other
variables are declared in some part
use of keyword as identifier
[] vs. () vs. <>
= instead of == (and vice versa)
length/size confusion for array,
String, and ArrayList, with or
without ()
private qualifier on local variable
extraneous code with no side effect;
e.g., precondition check
common mathematical symbols for
operators (x • ÷ < > < > ≠)
missing { } where indentation clearly
conveys intent and { } used elsewhere
default constructor called without
parens;
e.g., new Critter;
missing ( ) on parameter-less method
call
missing ( ) around if/while
conditions
missing ; when majority are present
missing public on class or
constructor header
extraneous [] when referencing entire
array
[i,j] instead of [i][j]
extraneous size in array declaration,
e.g., int[size] nums = new
int[size];
Minor Errors (½ point)
confused identifier (e.g., len for
length or left() for getLeft() )
local variables used but none declared
missing new in constructor call
modifying a constant (final)
use of equals or compareTo
method on primitives, e.g., int x;
…x.equals(val)
array/collection access confusion
([] get)
assignment dyslexia,
e.g., x + 3 = y; for y = x + 3;
super(method()) instead of
super.method()
formal parameter syntax (with type) in
method call, e.g.,
a = method(int x)
missing public from method header
when required
"false"/"true" or 0/1 for boolean
values
"null" for null
Applying
Minor Penalties
(½ point):
A minor infraction that occurs
exactly once when the same
concept is correct two or
more times is regarded as an
oversight and not penalized.
A minor penalty must be
assessed if the item is the
only instance, one of two,
or occurs two or more
times.
Major Errors (1 point)
extraneous code that causes side effect;
e.g., information written to output
interface or class name instead of
variable identifier; e.g., Bug.move()
instead of aBug.move()
aMethod(obj) instead of
obj.aMethod()
attempt to use private data or method
when not accessible
destruction of persistent data (e.g.,
changing value referenced by
parameter)
use of class name in place of super in
constructor or method call
void method (or constructor) returns a
value
* Spelling and case discrepancies for identifiers fall under the “nonpenalized” category only if the correction can be
unambiguously
inferred from context; for example, “ArayList” instead of “ArrayList”. As a counterexample, note that if
a student declares “Bug bug;” then uses “Bug.move()” instead of “bug.move()”, the context does
not
allow for the
reader to assume the object instead of the class.