---
title: "AP Computer Science A Exam"
description: "AP Computer Science A Exam - AP Computer Science A unit content"
canonical: "https://fiveable.me/ap-comp-sci-a/ap-computer-science-a-exam"
type: "unit"
subject: "AP Computer Science A"
unit: "AP Computer Science A Exam"
---

# AP Computer Science A Exam

## Overview

AP CSA is a two-section, three-hour exam. Section I is 42 multiple-choice questions in 90 minutes and counts for 55% of your score. Section II is 4 free-response questions in 90 minutes and counts for 45%. Every question involves reading, writing, or reasoning about Java code. The Java Quick Reference sheet is provided for both sections.

## AP CED Alignment

This unit hub is organized around AP Course and Exam Description topics, skills, and exam task types when they are available in the source data.
- Section I: Multiple-Choice Questions
- FRQ 1: Methods and Control Structures
- FRQ 2: Class Design
- FRQ 3: Data Analysis with ArrayList
- FRQ 4: 2D Array
- Difficulty guide: Is AP CSA Hard?
- Exam format: Section I: Multiple-Choice Questions
- Exam format: Section II: Free-Response Questions
- Scoring: How the exam is scored

## Topics

- [Section I: Multiple-Choice Questions](/ap-comp-sci-a/ap-computer-science-a-exam/ap-comp-sci-a-ap-csa-mcq/study-guide/ap-comp-sci-a-ap-csa-mcq): 42 questions, 90 minutes, 55% of your score. The dominant skill is code tracing. Use the Java Quick Reference for library method signatures and budget about 2 minutes per question. The topic guide covers question weighting, tracing strategy, and what to expect.
- [FRQ 1: Methods and Control Structures](/ap-comp-sci-a/ap-computer-science-a-exam/ap-comp-sci-a-frq-1-methods-and-control-structures/study-guide/ap-comp-sci-a-frq-1-methods-and-control-structures): Worth 7 of 25 FRQ points. You write two methods using loops, conditionals, and calls to other class methods. Part A is 4 points and Part B is 3 points. The topic guide includes the rubric breakdown, a worked example, and timing strategy.
- [FRQ 2: Class Design](/ap-comp-sci-a/ap-computer-science-a-exam/ap-comp-sci-a-frq-2-class-design/study-guide/ap-comp-sci-a-frq-2-class-design): Worth 7 of 25 FRQ points. You write a complete Java class from a specification: class header, private instance variables, constructor, and methods. Budget 20-22 minutes. The topic guide walks through a worked class example and the point-by-point rubric.
- [FRQ 3: Data Analysis with ArrayList](/ap-comp-sci-a/ap-computer-science-a-exam/ap-comp-sci-a-frq-3-data-analysis-with-arraylist/study-guide/ap-comp-sci-a-frq-3-data-analysis-with-arraylist): Worth 5 of 25 FRQ points. You write one method that traverses an ArrayList, filters elements by condition, and returns a calculated result. The topic guide covers the scoring pattern, common filter-and-calculate patterns, and frequent errors.
- [FRQ 4: 2D Array](/ap-comp-sci-a/ap-computer-science-a-exam/ap-comp-sci-a-frq-4-2d-array/study-guide/ap-comp-sci-a-frq-4-2d-array): Worth 6 of 25 FRQ points and the most predictable question on the exam. You write one method that traverses or manipulates a 2D array of objects. The topic guide covers row-major and column-major traversal patterns and a worked code example.
- [Difficulty guide: Is AP CSA Hard?](/ap-comp-sci-a/ap-computer-science-a-exam/ap-csa-is-it-hard/study-guide/ap-csa-is-it-hard): AP CSA is hard if Java is new to you, but the skills are concrete and learnable. The difficulty guide covers what makes the course challenging, what makes it manageable, and how to approach it if you have no prior programming experience.

## 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.

**Checkpoint:** 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.

**Checkpoint:** 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.

**Checkpoint:** 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%

## Study Guides

- [Multiple-Choice Questions (MCQ)](/ap-comp-sci-a/ap-computer-science-a-exam/ap-comp-sci-a-ap-csa-mcq/study-guide/ap-comp-sci-a-ap-csa-mcq)
- [FRQ 1 – Methods and Control Structures](/ap-comp-sci-a/ap-computer-science-a-exam/ap-comp-sci-a-frq-1-methods-and-control-structures/study-guide/ap-comp-sci-a-frq-1-methods-and-control-structures)
- [FRQ 2 – Class Design](/ap-comp-sci-a/ap-computer-science-a-exam/ap-comp-sci-a-frq-2-class-design/study-guide/ap-comp-sci-a-frq-2-class-design)
- [FRQ 3 – Data Analysis with `ArrayList`](/ap-comp-sci-a/ap-computer-science-a-exam/ap-comp-sci-a-frq-3-data-analysis-with-arraylist/study-guide/ap-comp-sci-a-frq-3-data-analysis-with-arraylist)
- [FRQ 4 – 2D Array](/ap-comp-sci-a/ap-computer-science-a-exam/ap-comp-sci-a-frq-4-2d-array/study-guide/ap-comp-sci-a-frq-4-2d-array)
- [Is AP Computer Science A Hard? AP CSA Difficulty and Worth It Guide](/ap-comp-sci-a/ap-computer-science-a-exam/ap-csa-is-it-hard/study-guide/ap-csa-is-it-hard)

## Common Mistakes

- **Leaving FRQs blank**: FRQ rubrics award points for individual correct elements. A method with the right signature and a correct loop structure earns points even if the logic has a bug. Writing something is almost always better than writing nothing.
- **Forgetting to initialize instance variables in the constructor**: FRQ 2 rubrics specifically check that your constructor sets all instance variables. Students who write the correct fields but forget to assign them in the constructor lose points that are easy to keep.
- **Off-by-one errors in array and ArrayList loops**: Using i <= array.length instead of i < array.length, or starting at index 1 instead of 0, are among the most common errors on both FRQ 3 and FRQ 4. Always check your loop bounds before moving on.
- **Misreading what a method is supposed to return**: On FRQs, students sometimes write a method that prints output instead of returning a value, or returns the wrong type. Read the method signature in the specification carefully before writing any code.
- **Skipping code tracing on MCQ and guessing on logic questions**: Because roughly half of MCQ questions ask you to analyze code, guessing on logic questions without tracing is a significant score risk. Even a quick 30-second trace on paper is faster and more accurate than trying to reason about output in your head.

## Exam Connections

- **MCQ code tracing connects directly to FRQ writing**: The ability to trace code in Section I and the ability to write correct code in Section II draw on the same underlying skill: understanding exactly what each line of Java does. Students who practice tracing tend to write cleaner FRQ responses because they can mentally simulate their own code before submitting.
- **FRQ 2 class design tests everything from FRQ 1**: FRQ 2 asks you to write a complete class, which means you need the method-writing and control-structure skills from FRQ 1 plus the ability to design fields and a constructor. Reviewing FRQ 1 concepts first makes FRQ 2 practice more productive.
- **FRQ 3 and FRQ 4 share traversal logic**: Both the ArrayList question (FRQ 3) and the 2D array question (FRQ 4) require you to iterate through a data structure, check conditions on each element, and produce a result. Practicing one traversal pattern reinforces the other, so these two questions are efficient to study together.

## Final Review Checklist

- **Trace code by hand without running it**: Pick any 10-15 line Java method with a loop and a conditional. Trace it line by line on paper, tracking variable values at each step. This is the single most tested skill in Section I.
- **Write a complete class from a specification**: Practice FRQ 2 by reading a written spec and writing the class header, private fields, constructor, and methods without looking at examples. Check that your constructor initializes all instance variables and that your methods match the return types in the spec.
- **Practice ArrayList traversal and filtering**: Write methods that iterate an ArrayList, check a condition on each element, and either collect results into a new list or return a calculated value. This is the core pattern for FRQ 3 every year.
- **Practice nested loops for 2D arrays**: Write methods that use nested for loops to traverse a 2D array by row, by column, and diagonally. Know how to access grid[r][c] and how to get the number of rows and columns from a 2D array.
- **Review the Java Quick Reference**: Look at the official Java Quick Reference sheet before the exam so you know exactly what is on it. You do not need to memorize String, Math, or ArrayList method signatures, but you need to know the sheet exists and how to use it quickly.
- **Time yourself on FRQs**: Do at least one timed FRQ session where you write all four responses in 90 minutes. Knowing how 22 minutes feels for FRQ 2 is different from knowing it intellectually.
- **Use the score calculator**: After a practice session, use the AP CSA score calculator to estimate your composite score. This helps you identify whether your MCQ accuracy or FRQ point totals need more attention in the final days before the exam.

## Study Plan

- **Start with the exam format**: Read through the topic guides for each FRQ type and the MCQ overview before doing any practice. Knowing that FRQ 3 is always ArrayList and FRQ 4 is always 2D array changes how you allocate study time.
- **Drill code tracing for MCQ**: Spend focused sessions tracing Java methods by hand. Cover loops with counters, while loops with changing conditions, and methods that call other methods. This directly targets the 37-53% of MCQ questions focused on code analysis.
- **Practice each FRQ type separately**: Use the topic guides for FRQ 1 through FRQ 4 to understand the rubric for each question type, then write at least one response for each type under timed conditions. FRQ 2 (class design) and FRQ 4 (2D array) tend to take the most practice to feel comfortable.
- **Simulate a full exam session**: At least once before the exam, sit down for a full 3-hour session: 90 minutes of MCQ followed by 90 minutes of all four FRQs. Use the score calculator afterward to see where you stand.
- **Final week: target weak spots**: Use your score calculator results and your timed FRQ attempts to identify which question type or topic costs you the most points. Spend the final week doing focused practice on that area rather than reviewing everything equally.

## More Ways To Review

- [Topic study guides](/ap-comp-sci-a/ap-computer-science-a-exam#topics)
- [FRQ practice](/ap-comp-sci-a/frq-practice)
- [Cram archive videos](/cram-archives?subject=ap-computer-science-a&unit=ap-computer-science-a-exam)
- [Cheatsheets](/ap-comp-sci-a/cheatsheets/ap-computer-science-a-exam)

## FAQs

### What's on the AP CSA progress check (MCQ and FRQ)?

The AP CSA progress checks in AP Classroom should align to the current four-unit course: objects and methods, selection and iteration, class creation, and data collections. Current AP CSA exam practice should emphasize Java code tracing, method writing, class design, arrays, ArrayLists, 2D arrays, recursion, searching, sorting, text-file input, and informal code analysis. Older progress checks or prep sets may include inheritance or polymorphism; treat those as retired topics unless your teacher assigns them separately.

### How do I practice AP CSA FRQs?

AP CSA FRQs have four fixed types: Methods and Control Structures, Class Design, Data Analysis with `ArrayList`, and 2D Array. To practice, write out full Java methods or classes by hand, then check that your logic handles edge cases like empty arrays, null references when relevant, and off-by-one loop bounds. Rotate through method-writing, class-design, ArrayList, and 2D-array prompts so your practice matches the current exam.

### Where can I find AP CSA practice questions?

For AP CSA practice questions, including MCQ and full practice tests, the best starting point is [/ap-comp-sci-a/ap-computer-science-a-exam](/ap-comp-sci-a/ap-computer-science-a-exam). There you'll find multiple-choice questions covering current topics like loops, recursion, class creation, arrays, ArrayLists, 2D arrays, and text files, plus FRQ-style prompts. Mixing MCQ drills with timed practice tests helps you build both accuracy and speed before exam day.

### How should I study for the AP CSA exam?

Start by making sure you can write and trace Java code for the four FRQ types: Methods and Control Structures, Class Design, Data Analysis with `ArrayList`, and 2D Array. Then work through MCQ sets that test objects, methods, Boolean logic, loops, arrays, ArrayLists, 2D arrays, text files, recursion, searching, sorting, and informal code analysis. Review your mistakes by actually rewriting the code, not just reading the solution. A solid weekly routine is one topic review session, one timed MCQ set, and one written FRQ.

## Structured Data

```json
{"@context":"https://schema.org","@type":"FAQPage","inLanguage":"en","mainEntity":[{"@type":"Question","@id":"https://fiveable.me/ap-comp-sci-a/ap-computer-science-a-exam#whats-on-the-ap-csa-progress-check-mcq-and-frq","name":"What's on the AP CSA progress check (MCQ and FRQ)?","acceptedAnswer":{"@type":"Answer","text":"The AP CSA progress checks in AP Classroom should align to the current four-unit course: objects and methods, selection and iteration, class creation, and data collections. Current AP CSA exam practice should emphasize Java code tracing, method writing, class design, arrays, ArrayLists, 2D arrays, recursion, searching, sorting, text-file input, and informal code analysis. Older progress checks or prep sets may include inheritance or polymorphism; treat those as retired topics unless your teacher assigns them separately."}},{"@type":"Question","@id":"https://fiveable.me/ap-comp-sci-a/ap-computer-science-a-exam#how-do-i-practice-ap-csa-frqs","name":"How do I practice AP CSA FRQs?","acceptedAnswer":{"@type":"Answer","text":"AP CSA FRQs have four fixed types: Methods and Control Structures, Class Design, Data Analysis with `ArrayList`, and 2D Array. To practice, write out full Java methods or classes by hand, then check that your logic handles edge cases like empty arrays, null references when relevant, and off-by-one loop bounds. Rotate through method-writing, class-design, ArrayList, and 2D-array prompts so your practice matches the current exam."}},{"@type":"Question","@id":"https://fiveable.me/ap-comp-sci-a/ap-computer-science-a-exam#where-can-i-find-ap-csa-practice-questions","name":"Where can I find AP CSA practice questions?","acceptedAnswer":{"@type":"Answer","text":"For AP CSA practice questions, including MCQ and full practice tests, the best starting point is <a href=\"/ap-comp-sci-a/ap-computer-science-a-exam\">/ap-comp-sci-a/ap-computer-science-a-exam</a>. There you'll find multiple-choice questions covering current topics like loops, recursion, class creation, arrays, ArrayLists, 2D arrays, and text files, plus FRQ-style prompts. Mixing MCQ drills with timed practice tests helps you build both accuracy and speed before exam day."}},{"@type":"Question","@id":"https://fiveable.me/ap-comp-sci-a/ap-computer-science-a-exam#how-should-i-study-for-the-ap-csa-exam","name":"How should I study for the AP CSA exam?","acceptedAnswer":{"@type":"Answer","text":"Start by making sure you can write and trace Java code for the four FRQ types: Methods and Control Structures, Class Design, Data Analysis with `ArrayList`, and 2D Array. Then work through MCQ sets that test objects, methods, Boolean logic, loops, arrays, ArrayLists, 2D arrays, text files, recursion, searching, sorting, and informal code analysis. Review your mistakes by actually rewriting the code, not just reading the solution. A solid weekly routine is one topic review session, one timed MCQ set, and one written FRQ."}}]}
```
