AP Computer Science A

AP Computer Science A

Do checkout the Resources section for Code samples and FRQ’s

Unit 1: Primitive Types

You’ll learn the fundamentals of Java, a programming language, as well as other foundational concepts for coding.

Topics may include:

• Primitive data types including int, double, and Boolean

• Evaluating arithmetic expressions in program code

• Using assignment operators to produce a value

• How variables and operators are sequenced and combined in an expression to create a result

On The Exam

2.5%–5% of exam score

Unit 2: Using Objects

You’ll explore reference data as a way to represent real-world objects in a digital world and discover methods to perform more complex operations.

Topics may include:

• Objects and classes as ways to describe instances, attributes, and behaviors

• Creating objects by calling constructors with and without parameters

• Utilizing class libraries, including Integer and Double

• Defining an object’s behavior using methods, including static and Math class

• Calling non-static void methods with and without parameters

• Using String objects and methods

• Using application program interfaces (APIs) and libraries

On The Exam

5%–7.5% of exam score

Unit 3: Boolean Expressions and if Statements

You’ll delve into the building blocks of algorithms and focus on using conditional statements to solve problems and control results.

Topics may include:

• Finding Boolean values with expressions involving relational operators

• Using conditional statements to execute different statements based on input values

• Building on conditional statements to create multiple possible outcomes

• Creating the same value using equivalent Boolean expressions

• Referencing objects with aliases

On The Exam

15%–17.5% of exam score

Unit 4: Iteration

You’ll learn about iteration, another building block of algorithms that are for repetition.

Topics may include:

• Creating a loop to run an expression repeatedly until certain conditions are met

• Standard arithmetic-based and String algorithms

• Representing iterative processes in code using for and while loops

• Nesting loop and iteration statements

On The Exam

17.5%–22.5% of exam score

Unit 5: Writing Classes

You’ll explore how real-world interactions can be expressed digitally by organizing behaviors and attributes into classes, and you’ll examine the legal and ethical implications of computer programming.

Topics may include:

• The makeup of a class, including whether attributes are public or private

• Setting an object’s attributes using constructors

• Using comments to describe the functionality of code

• Defining behaviors of an object using non-void, void, and static methods

• Where variables can be used in program code

• Breaking problems into smaller parts by creating methods to solve individual subproblems

• Intellectual property and ethical concerns in programming

On The Exam

5%–7.5% of exam score

Unit 6: Array

You’ll learn techniques and standard algorithms to work with collections of related data, known as data structures.

Topics may include:

• Representing multiple related items as array objects

• Traversing an array by accessing the elements using iteration statements

• Standard algorithms that utilize array traversals to perform functions

On The Exam

10%–15% of exam score

Unit 7: ArrayList

You’ll delve deeper into data sets, exploring ArrayList objects for larger amounts of data, as well as the privacy concerns related to personal data storage.

Topics may include:

• Representing collections of related object reference data using ArrayList objects

• Traversing an ArrayList by accessing the elements using iteration statements

• Standard algorithms that utilize ArrayList traversals to perform functions

• Searching and sorting using standard algorithms

• Ethical issues around data collections

On The Exam

2.5%–7.5% of exam score

Unit 8: 2D Array

Now that you’ve explored 1D arrays, you’ll branch out into 2D arrays and experiment with data sets represented in a table.

Topics may include:

• Representing collections of data as arrays of arrays, or 2D arrays

• Traversing a 2D array by accessing the elements using nested iteration statements

On The Exam

7.5%–10% of exam score

Unit 9: Inheritance

You’ll learn how to manipulate programming without altering existing code by using subclasses to create a hierarchy.

Topics may include:

• Using common attributes and behaviors to group existing objects into superclasses

• Defining and overriding methods within subclasses and superclasses

• Creating references using inheritance hierarchies

• Associating subclass objects with superclasses to create polymorphism

On The Exam

5%–10% of exam score

Unit 10: Recursion

You’ll work on solving larger problems by solving smaller, simpler versions of the same problem using recursive methods.

Topics may include:

• Executing recursive methods

• Searching and sorting using binary search and merge sort algorithms

On The Exam

5%–7.5% of exam score

Scroll to Top