The current structure of AP Computer Science A has four units (from 2025–26 onwards). This guide lists the topics of all four units as they are, shows how much time each unit deserves, and maps the units onto where they appear in the exam.
Every topic below links to its multiple-choice practice page; the free-response practice for the same topic sits at the matching -frq address.
- Unit 1 — fundamentals, methods and objects (15 topics)
- Unit 2 — selection, loops and algorithms (12 topics)
- Unit 3 — writing classes and program design (9 topics)
- Unit 4 — data collections (17 topics)
- How much time does each unit deserve?
- Where the units show up on the exam
- The old-curriculum trap
- Frequently asked questions
Unit 1 — fundamentals, methods and objects
Fifteen topics, from variables through calling methods and using objects. Everything here is the ground the other three units are built on; skipping ahead before the previous topic is solid is where students get stuck most.
- 1.1 Introduction to Algorithms, Programming, and Compilers
- 1.2 Variables and Data Types
- 1.3 Expressions and Output
- 1.4 Assignment and Input
- 1.5 Casting and Range of Values
- 1.6 Compound Assignment Operators
- 1.7 API and Libraries
- 1.8 Documentation with Comments
- 1.9 Method Signatures
- 1.10 Calling Class Methods
- 1.11 Math Class
- 1.12 Objects: Instances of Classes
- 1.13 Object Creation and Storage
- 1.14 Calling Instance Methods
- 1.15 String Manipulation
Unit 2 — selection, loops and algorithms
Twelve topics: boolean expressions, if statements, while and for loops, nested iteration, and writing algorithms with them. Most of the code-tracing questions in the multiple-choice section come from here: whether a loop condition is i <= 4 or i < 4, a single character changes the answer.
- 2.1 Algorithms with Selection and Repetition
- 2.2 Boolean Expressions
- 2.3 if Statements
- 2.4 Nested if Statements
- 2.5 Compound Boolean Expressions
- 2.6 Comparing Boolean Expressions
- 2.7 while Loops
- 2.8 for Loops
- 2.9 Implementing Selection and Iteration Algorithms
- 2.10 Implementing String Algorithms
- 2.11 Nested Iteration
- 2.12 Informal Run-Time Analysis
Unit 3 — writing classes and program design
Nine topics. This is where you write a Java class yourself: constructors, methods, static variables, scope and access. It is the direct counterpart of the class design free-response question.
- 3.1 Abstraction and Program Design
- 3.2 Impact of Program Design
- 3.3 Anatomy of a Java Class
- 3.4 Constructors
- 3.5 Methods: How to Write Them
- 3.6 Methods: Passing and Returning References of an Object
- 3.7 Class (Static) Variables and Methods
- 3.8 Scope and Access
- 3.9 The this Keyword
Unit 4 — data collections
Seventeen topics — the longest of the four units. Arrays, ArrayList, 2D arrays, searching and sorting. Two of the four free-response questions (data analysis with an ArrayList, and 2D arrays) come from this unit.
- 4.1 Ethical and Social Issues Around Data Collection
- 4.2 Introduction to Using Data Sets
- 4.3 Array Creation and Access
- 4.4 Array Traversals
- 4.5 Implementing Array Algorithms
- 4.6 Using Text Files
- 4.7 Wrapper Classes
- 4.8 ArrayList Methods
- 4.9 ArrayList Traversals
- 4.10 Implementing ArrayList Algorithms
- 4.11 2D Array Creation and Access
- 4.12 2D Array Traversals
- 4.13 Implementing 2D Array Algorithms
- 4.14 Searching Algorithms
- 4.15 Sorting Algorithms
- 4.16 Recursion
- 4.17 Recursive Searching and Sorting
How much time does each unit deserve?
Four principles give the order:
- Build from the fundamentals first — variables, conditionals, loops. That is Units 1 and 2.
- Write your own code from the start. Understanding an explanation is not the same as being able to do it yourself.
- Once the fundamentals are solid, give the fourth unit generous time — data collections is both the longest unit and the one with the most weight on the exam.
- Compare past free-response answers against the scoring guidelines. Having the right idea is not enough; points are lost in the detail.
Where the units show up on the exam
The exam has two sections, 90 minutes each: 42 multiple-choice questions (55%) and 4 free-response questions (45%). The four free-response questions map onto the units like this:
- Methods and control structures — Units 1 and 2.
- Class design — Unit 3.
- Data analysis with an ArrayList — Unit 4.
- 2D arrays — Unit 4.
For the full section structure, timing and scoring see the AP CSA exam format guide; for the FRQ approach specifically, the FRQ tips guide.
The old-curriculum trap
The four-unit structure is new. Plenty of sources online and in print still describe the old curriculum — and when you ask an AI, it will most likely hand you the old curriculum too. If a topic list does not match this one, the problem is the source, not you.
The same applies to the section weights: the two sections used to be 50/50, and they are not any more. Account for both differences when working from older material.
Frequently asked questions
How many units are in AP CSA?
Four. The current structure applies from 2025–26 onwards; before that the course had more units.
What topics do the AP CSA units cover?
Unit 1 covers fundamentals, methods and objects (15 topics); Unit 2 selection, loops and algorithms (12); Unit 3 writing classes and program design (9); Unit 4 data collections — arrays, ArrayList, 2D arrays, searching and sorting (17).
Which unit appears most on the exam?
Two of the four free-response questions (data analysis with an ArrayList, and 2D arrays) come from Unit 4. Unit 4 is also the longest unit.
In what order should I study the units?
In order. The topics build on each other, and skipping ahead before the previous one is solid is where students get stuck. Once the fundamentals are solid, give Unit 4 generous time.
Can I ask an AI for the AP CSA topics?
You can, but verify it: an AI will most likely give you the old curriculum. If the topic list does not match this page, change the source.
Is there practice for every topic?
Yes. Every topic above links to its multiple-choice practice page, and the free-response practice for the same topic is at the matching -frq address.
