AP Computer Science A covers 4 units, from Using Objects and Methods to Data Collections. Review each unit with study guides, practice questions, and key terms — compiled by AP educators and updated for the 2027 AP exam.

AP Computer Science A is an intro college-level course where you write Java to model real problems. You learn to design classes, trace and debug code, and build algorithms with objects, loops, arrays, and recursion.
AP CSA is moderately challenging. The 4 units build from objects and methods through control flow, class design, and data collections in Java. The logic-based thinking takes practice, but if you enjoy problem-solving and stick with coding, it feels manageable. The trick is writing code daily. Twenty to thirty minutes builds syntax and debugging fluency faster than reading notes ever will.
Start with Unit 1 and Unit 2, since objects, methods, selection, and loops are the foundation for everything else. Read a unit guide, then write small Java programs that use the concept. Trace short code segments by hand to predict output. Once you reach Units 3 and 4, practice full FRQ-style methods. Code a little every day rather than cramming all at once.
On the multiple-choice section, Unit 4: Data Collections carries the most weight at 30 to 40 percent, followed by Unit 2: Selection and Iteration at 25 to 35 percent. Unit 1: Using Objects and Methods is 15 to 25 percent, and Unit 3: Class Creation is 10 to 18 percent. Arrays, ArrayLists, 2D arrays, and loop logic show up everywhere, so prioritize them.
The free-response section has 4 questions worth 45 percent of your score in 90 minutes. Question 1 is Methods and Control Structures (7 points), Question 2 is Class Design (7 points), Question 3 is Data Analysis with ArrayList (5 points), and Question 4 is 2D Array (6 points). All four ask you to write working Java code, so practice writing methods by hand.
Yes. You receive the Java Quick Reference, which lists accessible methods from the Java library that may appear on the exam, including common String, Math, ArrayList, and Object methods. You do not need to memorize exact signatures for those methods, but you should know how and when to use them. Focus your study time on logic, tracing code, and writing clean solutions.