Future AP Computer Science A Revisions
We’re revising AP Computer Science A to align with current introductory college programming courses. The earliest these revisions will launch is the 2025-26 school year.
Exam Overview
Exam questions assess the course concepts and skills outlined in the course framework. For more information, download the AP Computer Science A Course and Exam Description (.pdf) (CED). Scoring guidelines for each of the sample free-response questions in the CED are also available. The Java Quick Reference (.pdf) lists the accessible methods from the Java library that may be included on the exam. The Java Quick Reference is included in the exam booklet.
Encourage your students to visit the AP Computer Science A student page for exam information.
Exam Date
Exam Format
Section I: Multiple Choice
40 Questions | 1 Hour 30 Minutes | 50% of Exam Score
- The multiple-choice section includes mostly individual questions, occasionally with 1–2 sets of questions (2 questions per set).
- Computational Thinking Practices 1, 2, 4, and 5 are all assessed in the multiple-choice section.
Section II: Free Response
4 Questions | 1 Hour 30 Minutes | 50% of Exam Score
All free-response questions assess Computational Thinking Practice 3: Code Implementation, with the following focus:
- Question 1: Methods and Control Structures—Students will be asked to write program code to create objects of a class and call methods, and satisfy method specifications using expressions, conditional statements, and iterative statements.
- Question 2: Classes—Students will be asked to write program code to define a new type by creating a class and satisfy method specifications using expressions, conditional statements, and iterative statements.
- Question 3: Array/ArrayList—Students will be asked to write program code to satisfy method specifications using expressions, conditional statements, and iterative statements and create, traverse, and manipulate elements in 1D array or ArrayList objects.
- Question 4: 2D Array—Students will be asked to write program code to satisfy method specifications using expressions, conditional statements, and iterative statements and create, traverse, and manipulate elements in 2D array objects.