What is the AP Computer Science A Exam?
AP Computer Science A is fundamentally a code-reading and code-writing test. The multiple-choice section leans heavily on tracing existing code, while the free-response section asks you to write complete methods and classes from scratch given written specifications.
AP CSA is learnable if you treat it as a skills exam rather than a memorization exam. The concepts are concrete: loops, conditionals, arrays, ArrayLists, classes, and object references. Students who practice tracing code by hand and writing methods from specs consistently perform better than those who only read notes.
Section I: Multiple Choice
42 questions, 90 minutes, 4 answer choices each. Roughly half the questions ask you to trace or analyze existing code. The heaviest topic weighting falls on code analysis, making careful line-by-line tracing your most important skill here.
Section II: Free Response
4 questions in 90 minutes, each with a fixed type: Methods and Control Structures (FRQ 1), Class Design (FRQ 2), Data Analysis with ArrayList (FRQ 3), and 2D Array (FRQ 4). Point values differ by question, totaling 25 FRQ points.
What the exam rewards
Precise Java syntax, correct loop and conditional logic, proper use of ArrayList traversal, and the ability to implement a class from a written specification. Partial credit is available on FRQs, so writing something syntactically close is always better than leaving a blank.
The exam is predictable by designEach FRQ slot tests the same concept every year: FRQ 1 is always methods and control structures, FRQ 2 is always class design, FRQ 3 is always ArrayList manipulation, and FRQ 4 is always a 2D array traversal. That predictability means targeted practice on each question type is one of the most efficient ways to prepare.
AP Computer Science A Exam review notes
Exam format
Section I: Multiple-Choice Questions
The MCQ section is 42 questions in 90 minutes, which gives you about 2 minutes per question. Every question has 4 answer choices and no penalty for guessing. The exam is fully digital and the Java Quick Reference is available throughout. The heaviest emphasis is on analyzing code, meaning you will spend most of your time tracing what a given code segment does rather than recalling definitions.
- Code tracing: Reading a code segment line by line to determine output, variable state, or return value. This is the dominant skill tested in Section I.
- Java Quick Reference: A sheet provided during the exam listing commonly used Java library methods such as String, Math, and ArrayList methods. You do not need to memorize these signatures.
- Topic weighting: Analyzing code accounts for 37-53% of MCQ questions. Other topics include writing code, reasoning about classes and objects, and working with arrays and ArrayLists.
Can you trace a 10-line Java method with a loop and a conditional and state the exact return value without running it?
| Skill | Approximate MCQ share |
|---|
| Analyzing existing code | 37-53% |
| Writing or completing code | remaining questions |
| Classes, objects, encapsulation | distributed across both |
Exam format
Section II: Free-Response Questions
The FRQ section is 4 questions in 90 minutes, which works out to roughly 20-22 minutes per question. Each question type is fixed from year to year, so you can practice each one specifically. FRQs are scored on rubrics that award points for specific code elements, meaning partial credit is real and meaningful. Writing a method with correct logic but a minor syntax error will still earn most of the points.
- FRQ 1: Methods and Control Structures: Worth 7 points. You write two methods (or a constructor and a method) using loops, conditionals, and calls to other class methods. Comes in Part A (4 points) and Part B (3 points).
- FRQ 2: Class Design: Worth 7 points. You write a complete class from scratch: class header, private instance variables, a constructor, and at least one method, all from a written specification and example method call table.
- FRQ 3: Data Analysis with ArrayList: Worth 5 points. You write a single method that traverses an ArrayList of objects, filters elements based on conditions, and calculates or returns a result.
- FRQ 4: 2D Array: Worth 6 points. You write one method that traverses or manipulates a 2D array stored as an instance variable. The array almost always holds objects rather than primitives.
Can you write a complete Java class with private fields, a constructor, and two methods in under 22 minutes given only a written specification?
| FRQ | Type | Points |
|---|
| FRQ 1 | Methods and Control Structures | 7 |
| FRQ 2 | Class Design | 7 |
| FRQ 3 | Data Analysis with ArrayList | 5 |
| FRQ 4 | 2D Array | 6 |
Scoring
How the exam is scored
Section I (MCQ) counts for 55% of your composite score and Section II (FRQ) counts for 45%. The 4 FRQs together are worth 25 raw points, and each question has a rubric that awards points for specific correct code elements. Because rubrics are element-based rather than holistic, a response that is mostly correct but has one bug can still earn the majority of available points. Never leave an FRQ blank.
- Composite score: Your raw MCQ score and raw FRQ score are each weighted and combined into a composite, which is then converted to the 1-5 AP scale.
- Partial credit: FRQ rubrics award points for individual correct elements: correct method signature, correct loop structure, correct conditional, correct return statement. A method with a logic error in one part can still earn points for other correct parts.
- No MCQ penalty: There is no deduction for wrong answers on the multiple-choice section. Answer every question.
Do you know which FRQ is worth the fewest points and how that should affect your time allocation?
| Section | Questions | Weight |
|---|
| Section I: MCQ | 42 questions | 55% |
| Section II: FRQ | 4 questions | 45% |