AP Computer Science A
Develop, analyze, test, and document Java programs while learning object-oriented design, control structures, classes, data collections, algorithms, recursion, and responsible computing.
Course map
Open a section, then choose the exact idea.
Use the words you remember, a section name, or a topic code.
Unit 1Using Objects and Methods15 topics
Establish Java fundamentals through algorithms, types, expressions, input and output, APIs, method calls, object creation, and string manipulation.
- 1.1Introduction to Algorithms, Programming, and Compilers
- 1.2Variables and Data Types
- 1.3Expressions and Output
- 1.4Assignment Statements and Input
- 1.5Casting and Range of Variables
- 1.6Compound Assignment Operators
- 1.7Application Program Interface (API) and Libraries
- 1.8Documentation with Comments
- 1.9Method Signatures
- 1.10Calling Class Methods
- 1.11Math Class
- 1.12Objects: Instances of Classes
- 1.13Object Creation and Storage (Instantiation)
- 1.14Calling Instance Methods
- 1.15String Manipulation
Unit 2Selection and Iteration12 topics
Use Boolean logic, branching, loops, nested iteration, and runtime reasoning to design and trace algorithms over values and strings.
- 2.1Algorithms with Selection and Repetition
- 2.2Boolean Expressions
- 2.3if Statements
- 2.4Nested if Statements
- 2.5Compound Boolean Expressions
- 2.6Comparing Boolean Expressions
- 2.7while Loops
- 2.8for Loops
- 2.9Implementing Selection and Iteration Algorithms
- 2.10Implementing String Algorithms
- 2.11Nested Iteration
- 2.12Informal Run-Time Analysis
Unit 3Class Creation9 topics
Design cohesive classes with encapsulated state, constructors, instance and class methods, reference parameters, scope, and self-reference.
Unit 4Data Collections17 topics
Represent, read, traverse, search, sort, and transform data with arrays, ArrayList, text files, wrapper classes, two-dimensional arrays, and recursion.
- 4.1Ethical and Social Issues Around Data Collection
- 4.2Introduction to Using Data Sets
- 4.3Array Creation and Access
- 4.4Array Traversals
- 4.5Implementing Array Algorithms
- 4.6Using Text Files
- 4.7Wrapper Classes
- 4.8ArrayList Methods
- 4.9ArrayList Traversals
- 4.10Implementing ArrayList Algorithms
- 4.112D Array Creation and Access
- 4.122D Array Traversals
- 4.13Implementing 2D Array Algorithms
- 4.14Searching Algorithms
- 4.15Sorting Algorithms
- 4.16Recursion
- 4.17Recursive Searching and Sorting