AP Computer Science A

Sign in to My AP or view free online classes and review sessions on YouTube.

About the Course

Important: We're now offering free, live AP online classes and review lessons for AP Computer Science A to help you prepare for your exam even if your school is closed due to COVID-19. See the course schedule or browse the YouTube playlist. We'll also offer at-home testing for 2020 AP Exams. Note that any related adjustments to 2020 AP Exams, such as length or content covered, may not be reflected on all AP Students pages.

Get familiar with the concepts and tools of computer science as you learn a subset of the Java programming language. You'll do hands-on work to design, write, and test computer programs that solve problems or accomplish tasks.

Skills You'll Learn

  • Designing a program, developing the algorithms it needs, and writing code to implement them

  • Testing program code and correcting errors

  • Documenting and explaining how program code works

Equivalency and Prerequisites

College Course Equivalent

A one-semester, introductory college course in computer science

Recommended Prerequisites

High school courses in English and algebra, and familiarity with functions and the concepts found in the uses of function notation

Exam Dates

  • Fri, May 15, 2020,
    4 PM ET

    AP Computer Science A Exam

    May 15, 2020 is the updated date for the AP Computer Science A Exam.

About the Units

The course content outlined below is organized into commonly taught units of study that provide one possible sequence for the course. Your teacher may choose to organize the course content differently based on local priorities and preferences.

Course Content

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

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

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

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

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

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

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

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

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

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

Search AP Credit Policies

Find colleges that grant credit and/or placement for AP Exam scores in this and other AP courses.

Course Resources

See Where AP Can Take You

AP Computer Science A can lead to a wide range of careers and college majors

Career Areas 130
Majors 48

Not a student?

Go to AP Central for resources for educators