AP Computer Science AAP

Java programming and OOP.

Practice

Timed and untimed modes with explanations.

Flashcards

Flip through key concepts and formulas.

Overview

AP Computer Science A teaches Java programming, problem solving, and object-oriented design.

Why it matters

It prepares students for CS majors and software careers by building algorithmic thinking and coding fluency.

Skills you’ll build

  • Java syntax
  • OOP principles
  • Algorithms & data structures
  • Debugging & testing

Topic Breakdown (Units)

Unit 1: Primitive Types

  • Variables
  • Casting
  • Expressions

Unit 2: Using Objects

  • Constructors
  • Methods
  • AP classes

Unit 3: Boolean Expressions and if Statements

  • Relational/logical operators
  • Control flow

Unit 4: Iteration

  • while
  • for
  • Off-by-one

Unit 5: Writing Classes

  • Fields/methods
  • Encapsulation

Unit 6: Arrays

  • 1D arrays
  • Traversal

Unit 7: ArrayList

  • List operations
  • Generics

Unit 8: 2D Array

  • Matrices
  • Nested loops

Unit 9: Inheritance

  • Superclass/subclass
  • Polymorphism

Unit 10: Recursion

  • Base/recursive cases
  • Tracing

Lessons & Notes

Unit 1: Primitive Types

Represent and manipulate data values.

  • int/double
  • final
  • operator precedence

Unit 2: Using Objects

Create and use objects and library classes.

  • String
  • Math
  • Random

Unit 3: Boolean Expressions and if Statements

Make decisions with conditional logic.

  • &&, ||, !
  • De Morgan's

Unit 4: Iteration

Use loops to process data and control repetition.

  • loop invariants
  • nested loops

Unit 5: Writing Classes

Design classes with state and behavior.

  • access modifiers
  • this
  • constructors

Unit 6: Arrays

Store sequences of values and iterate efficiently.

  • enhanced for
  • index bounds

Unit 7: ArrayList

Use dynamic arrays to manage collections.

  • add/remove
  • autoboxing

Unit 8: 2D Array

Model grids and perform matrix operations.

  • row/column traversal

Unit 9: Inheritance

Reuse and extend behaviors via class hierarchies.

  • overriding
  • interfaces

Unit 10: Recursion

Solve problems by defining smaller subproblems.

  • stack frames
  • termination

Helpful Resources