Tian2
Library Catalogue AP Computer Science A
⁂   Computer Science · AP Exam

Computer Science A Study Library.

Expert-authored Java study guides covering the redesigned 2025–26 curriculum: objects and methods, control structures, class creation, and data collections — including arrays, ArrayLists, and 2D arrays.

4 units 42 MCQ + 4 FRQ 180 minutes 93,217 candidates (2025)
Total Time 180 minutes (3 hours)
MCQ 42 questions · 90 min · 55% weight
FRQ 4 Java code · 90 min · 45% weight
Score Scale 1–5 67.2% scored 3+ (2025)

Major Curriculum Redesign — Fall 2025

The May 2026 exam is the first to test the new 4-unit curriculum.

The old 10-unit structure was replaced with 4 integrated units. Inheritance, polymorphism, the super keyword, and recursive method writing have been removed from the exam. Pre-2026 FRQs test the old curriculum; use them for practice but note that inheritance-heavy questions are no longer exam-relevant. New additions: File I/O with Scanner, expanded ArrayList methods (contains(), indexOf()), and fully digital submission via Bluebook.

Exam Structure

Format and FRQ types.

Section I — Multiple Choice (55%)

42 questions · 90 minutes · 4 answer choices · no calculator.

Question types: code tracing and output prediction (37–53% of all questions — the dominant type), error identification, algorithm comparison, Roman-numeral statement evaluation, and conceptual understanding. No coding on MCQ — all code is already written and you analyze it.

Section II — Free Response (45%)

4 questions · 90 minutes · typed directly in Bluebook · Java Quick Reference provided on-screen. Total: 25 raw points.

No calculator; no compiler — write correct, compilable Java from memory. Each rubric point is awarded for a specific, deterministic code element (correct method header, correct loop structure, correct conditional, etc.).

Four FRQ Types — Fixed Structure Each Year (2026+)

FRQ
Type & Focus
Points
Time
1
Methods & Control Structures
Write 2 methods, or 1 constructor + 1 method. Tests loops, conditionals, and method logic. No class header needed.
7 pts
~25 min
2
Class Design
Design and implement a complete class: instance variables, constructors, getters/setters, behavior methods. Tests encapsulation and object design.
7 pts
~25 min
3
Data Analysis with ArrayList
Exclusively tests ArrayList — traversal, searching, filtering, adding/removing during iteration. (Prior years included array variants; 2026+ is ArrayList-only.)
5 pts
~18 min
4
2D Array
Manipulation and traversal of a 2D array: row/column operations, boundary conditions, partial traversals, and in-place mutation.
6 pts
~20 min

Composite Score Formula

Composite (0–100) = (MCQ correct ÷ 42 × 55) + (FRQ points ÷ 25 × 45). Approximately: 5 needs ~78+, 4 needs ~60+, 3 needs ~45+.

Curriculum (2025–26 Redesign)

Study by unit.

1.
Using Objects and Methods
Primitive types: int, double, boolean · Variable declaration and assignment · Arithmetic operators, integer division, modulo · Calling methods with dot notation · Constructor calls with new · String methods: length(), substring(), indexOf(), equals(), compareTo() · Math methods: abs(), pow(), sqrt(), random() · Wrapper classes: Integer, Double · Autoboxing and unboxing · System.out.println()
standard track
15–25% of exam
Study unit ›
2.
Selection and Iteration
Boolean expressions: &&, ||, ! · De Morgan's Laws · if / else if / else · Nested conditionals · while loops and termination conditions · for loops and loop control · Infinite loop detection · String traversal with index-based loops · Nested loops and output patterns · Compound assignment: +=, -=, *=
standard track
25–35% of exam
Study unit ›
3.
Class Creation
Writing class headers · private instance variables · Access modifiers: public and private · Default and parameterized constructors · Instance methods: getters, setters, behavior methods · static vs. instance context · The this keyword · Implementing toString() and equals() · Method overloading · Note: Inheritance and polymorphism removed from 2026+ exam
standard track
10–18% of exam
Study unit ›
4.
Data Collections
1D array: creation, initialization, traversal, algorithms (min, max, sum, count) · Linear search and selection/insertion sort · ArrayList<E>: add(), remove(), get(), set(), size(), contains(), indexOf() · Safe ArrayList removal during iteration (backward traversal) · 2D array: row-major and column-major traversal, boundary conditions, in-place mutation · File reading: java.io.File and java.util.Scanner (nextLine(), nextInt(), hasNextLine()) · Recursion tracing (required; writing recursive methods not required)
standard track
30–40% of exam
Study unit ›
Study Intelligence

High-frequency exam topics and traps.

MCQ dominates: code tracing (37–53%)

The majority of MCQ questions are code-tracing and output-prediction tasks. Practice tracing through nested loops, conditional branches, and ArrayList mutations by hand — without running the code.

Key trap: integer division. In Java, 7 / 2 = 3, not 3.5. The modulo operator 7 % 2 = 1. These appear constantly on MCQ.

De Morgan's Laws — perennial MCQ favorite

Know both directions:

!(A && B) == (!A || !B)
!(A || B) == (!A && !B)

ArrayList safe removal

Removing elements while iterating forward skips items. The correct patterns:

// Pattern 1: backward for loop
for (int i = list.size()-1; i >= 0; i--) {
    if (condition) list.remove(i);
}

// Pattern 2: index management
int i = 0;
while (i < list.size()) {
    if (condition) list.remove(i);
    else i++;
}

2D array traversal patterns

// Row-major (outer=row, inner=col)
for (int r = 0; r < arr.length; r++)
  for (int c = 0; c < arr[0].length; c++)
    // process arr[r][c]

// Column-major (outer=col, inner=row)
for (int c = 0; c < arr[0].length; c++)
  for (int r = 0; r < arr.length; r++)
    // process arr[r][c]

Math.random() range formula

Math.random() returns a double in [0.0, 1.0). To get a random integer in range [min, max]:

int n = (int)(Math.random() * (max - min + 1)) + min;

This appears on almost every exam in some form.

Score distribution: bimodal

5
25.6%
4
21.8%
3
19.8%
2
10.9%
1
22.0%

n = 93,217 · Mean: 3.18 · The high rate of 1s (22%) reflects students without prior coding experience. Students with prior coding backgrounds typically score 4 or 5.

Past Exam Questions

Released FRQ index.

AP Central provides 3 recent years publicly. An archive of ~82 FRQs (2004–2025) exists via official College Board URLs. Note: pre-2026 FRQs test the old 10-unit curriculum including inheritance; tag them accordingly.

Curriculum alignment warning: FRQs from 2025 and earlier include inheritance (old Q4 type) and use the old 36-point FRQ scale. The 2026 FRQs are the first to test the new 4-unit curriculum. Use older FRQs for practice but skip inheritance-heavy questions.
2025
AP CSA FRQs (4 questions) — old curriculum
Methods & Control Structures · Class Design · Array/ArrayList · 2D Array or Inheritance. Old 36-point scale. Useful for practice; ignore inheritance questions.
official CB release
Scoring guidelines available
2024
AP CSA FRQs (4 questions) — old curriculum
Methods & Control Structures · Class Design · Array/ArrayList · 2D Array or Inheritance.
official CB release
Scoring guidelines available
2023
AP CSA FRQs (4 questions) — old curriculum
Methods & Control Structures · Class Design · Array/ArrayList · 2D Array or Inheritance.
official CB release
Scoring guidelines available
2004–2022
Historical archive (~74 FRQs)
22 years of released FRQs. Third-party aggregator with direct CB PDF links and topic tags: apcsexamprep.com. Note: 2020 was shortened (2 FRQs only).
AP Central archive
~82 total FRQs
Our worked solutions and practice questions are original instructional content created by Tian2 AP. They are aligned to the concepts and skills described in College Board’s Course and Exam Description and are not reproductions of, or affiliated with, College Board’s official materials.