AP Computer Science A — Pacing Guide 2026–27

Aug 17, 2026 – Apr 2, 2027 · 33 Calendar Weeks · 28 Instructional Weeks

Aligned to the 2026–27 College Board Course Exam Description(CED) (4-Unit Revision) and Oracle Java Foundations (1Z0-811)


Instructional Calendar Snapshot

Break

Dates

Weeks Lost

Thanksgiving

Nov 23 – Nov 27

Week 15

Winter Break

Dec 21 – Jan 8

Weeks 19–21

Spring Recess

Mar 29 – Apr 5

Week 33

28 instructional weeks total. Exams and projects are embedded within each unit block — no dedicated review weeks are counted separately.


Course Overview – Dates need to be revised

Unit

Title

Exam Weight

Instructional Weeks

Calendar Span

Unit 1

Using Objects and Methods

15–25%

5

Aug 17 – Sep 20

Unit 2

Selection and Iteration

25–35%

6

Sep 30 – Nov 8

Unit 3

Class Creation

10–18%

4

Nov 11 – Dec 13

Inheritance

Inheritance (Oracle + AP supplement)

—*

3

Dec 16 – Jan 24

Unit 4

Data Collections

30–40%

9

Jan 27 – Mar 28

AP Prep

Practice Exams + Final Project

1

Mar 24 – Mar 28

* Inheritance was removed from the 2025–26 AP CSA CED exam but is retained here for Oracle Java Foundations (1Z0-811) alignment and deeper OOP understanding.

Key 2025–26 AP CED Changes: 10 units consolidated into 4 Inheritance (old Unit 9) removed from AP exam File I/O with Scanner added (Unit 4) Exam fully digital via Bluebook · 42 MCQ / 4 FRQ


UNIT 1 — Using Objects and Methods

Exam Weight: 15–25% · Instructional Weeks 1–5 (Aug 19 – Sep 20)

Week

Dates

AP CSA Topics

Oracle 1Z0-811 Alignment

Project

1

Aug 19–23

Orientation & Course Structure · 1.1 Algorithms, Programs & Compilers

What Is Java? · Features & real-world applications · JDK & JRE · Compile & execute a program

2

Aug 26–30

1.2 Variables, Data Types & Expressions · 1.3 Assignment Statements & Input (Scanner)

Working with Java Data Types · Declare & initialize variables · java.lang package · Basic Java Elements: conventions, reserved words, comments

3

Sep 2–6

1.4 Compound Assignment Operators · 1.5 Casting and Ranges of Variables

Working with Java Operators · Arithmetic, increment/decrement, relational & assignment operators · Casting & type promotion

4

Sep 9–13

1.6 Class (Static) Methods & the Math Class · 1.7 Objects, Instantiation & References

Working with the Random and Math Classes · OOP components · Class vs. instance variables

5

Sep 16–20

1.8 Calling Instance Methods · 1.9 String Objects & String Methods · 1.10 APIs, Documentation & Comments

Java Methods · Working with the String Class · String methods & escape sequences · Comments & import

Sep 23–27

Unit 1 Exam · Oracle 1Z0-811 Practice: What Is Java? / Java Basics / Data Types / Operators / String Class


UNIT 2 — Selection and Iteration

Exam Weight: 25–35% · Instructional Weeks 6–11 (Sep 30 – Nov 8)

Week

Dates

AP CSA Topics

Oracle 1Z0-811 Alignment

Project

6

Sep 30–Oct 4

2.1 Boolean Expressions · 2.2 if Statements & Control Flow · 2.3 if-else Statements

Working with Java Operators · Relational & conditional operators (&&, ||, ?) · Using Decision Statements: if-then, if-then-else

7

Oct 7–11

2.4 else-if Statements · 2.5 Compound Boolean Expressions · 2.6 Equivalent Boolean Expressions (De Morgan’s)

Using Decision Statements · switch statement · == on primitives vs. objects

8

Oct 14–18

2.7 Comparing Objects · 2.8 while Loops

Using Decision Statements · compareTo & equals · Using Looping Statements: while, do-while

9

Oct 21–25

2.9 for Loops · 2.10 Developing Algorithms Using Strings

Using Looping Statements · for & enhanced for · break & continue · String methods in loops

10

Oct 28–Nov 1

2.11 Nested Iteration · 2.12 Informal Code Analysis & Debugging

Using Looping Statements · Compare for/while/do-while · Debugging & Exception Handling · Syntax vs. logic errors · try/catch

11

Nov 4–8

Unit 2 Review & FRQ Practice

Oracle 1Z0-811 Practice: Decision Statements / Looping / Debugging

Nov 11–15

Unit 2 Exam


UNIT 3 — Class Creation

Exam Weight: 10–18% · Instructional Weeks 12–15 (Nov 11 – Dec 13)

Week

Dates

AP CSA Topics

Oracle 1Z0-811 Alignment

Project

12

Nov 11–15

3.1 Anatomy of a Class · 3.2 Constructors

Classes & Constructors · main method · private modifier · Class vs. instance vs. local variables · Default & parameterized constructors · Overloading constructors

13

Nov 18–22

3.3 Documentation & Comments · 3.4 Accessor Methods · 3.5 Mutator Methods

Basic Java Elements · Javadoc comments · Java Methods: accessor & mutator methods

Nov 25–29

🦃 Thanksgiving Break

14

Dec 2–6

3.6 Writing Methods · 3.7 Static Variables & Methods · 3.8 Scope & Access

Java Methods · Overloaded methods · Static methods · private modifier scope

15

Dec 9–13

3.9 this Keyword · 3.10 Ethical & Social Implications · Unit 3 Review

Classes & Constructors · Object fields & constructor relationship

Dec 16–20

Unit 3 Exam

Dec 23–Jan 8

❄️ Winter Break


INHERITANCE — Superclasses, Subclasses & Polymorphism

Oracle Required · AP Supplemental · Instructional Weeks 16–18 (Jan 13 – Jan 31)

Inheritance is retained to satisfy Oracle Java Foundations (1Z0-811) requirements and provides valuable OOP depth. While removed from the AP CSA exam, it reinforces Unit 3 class design skills.

Week

Dates

Topics

Oracle 1Z0-811 Alignment

Project

16

Jan 13–17

9.1 Creating Superclasses & Subclasses · 9.2 Writing Constructors for Subclasses

Classes & Constructors · Relationship between objects and members · OOP components

17

Jan 20–24

9.3 Overriding Methods · 9.4 super Keyword

Java Methods · Method overriding vs. overloading · super constructor calls

18

Jan 27–31

9.5 Reference Hierarchies · 9.6 Polymorphism · 9.7 Object Superclass · Review

OOP components · Polymorphism · Object class methods (toString, equals)

Inheritance Exam


UNIT 4 — Data Collections

Exam Weight: 30–40% · Instructional Weeks 19–27 (Feb 3 – Mar 28)

Week

Dates

AP CSA Topics

Oracle 1Z0-811 Alignment

Project

19

Feb 3–7

4.1 Array Creation & Access · 4.2 Traversing Arrays · 4.3 Enhanced for Loop for Arrays

Arrays and ArrayLists · One-dimensional arrays · Compare array vs. ArrayList · Enhanced for loop

20

Feb 10–14

4.4 Developing Algorithms Using Arrays · Arrays Review & FRQ Practice

Arrays and ArrayLists · Traversal algorithms

Feb 14

Arrays Exam

21

Feb 17–21

4.5 Introduction to ArrayList · 4.6 ArrayList Methods

Arrays and ArrayLists · Create & manipulate ArrayList · Wrapper Classes: Integer, Double

22

Feb 24–28

4.7 Traversing ArrayLists · 4.8 Developing Algorithms Using ArrayLists

Arrays and ArrayLists · Traverse with iterators & loops (incl. enhanced for)

23

Mar 3–7

4.9 Searching (Linear & Binary) · 4.10 Sorting (Selection & Insertion) · 4.11 Ethical Issues Around Data Collection

Mar 7

ArrayList Exam

24

Mar 10–14

4.12 2D Arrays · 4.13 Traversing 2D Arrays

Mar 14

2D Array Exam

25

Mar 17–21

4.14 File I/O with Scanner (NEW 2025–26) · 4.15 Recursion

Using Looping Statements · hasNext(), nextInt(), nextLine()

26

Mar 24–28

4.16 Recursive Searching & Sorting · Unit 4 Review · AP Practice Exams (2014, 2015, 2020)

Mar 28

Unit 4 Exam

Mar 31–Apr 2

🌱 Spring Recess


Final Project — White Tower

Event

Date

Project Assigned

Mar 24

Spring Recess

Mar 31 – Apr 2

Project Due / Presentations

Apr 2

AP Exam (Bluebook, Digital)

May 2025


Oracle Java Foundations (1Z0-811) — Complete Topic Coverage Map

1Z0-811 Domain

AP CSA Coverage

When

What Is Java? · Java Basics

1.1 Algorithms & Compilers · JDK/JRE

Week 1

Basic Java Elements

1.3 Assignment & Input · 1.10 APIs & Comments

Weeks 2, 5

Working with Java Data Types

1.2 Variables & Expressions · 1.5 Casting

Weeks 2–3

Working with Java Operators

1.4 Compound Assignment · 2.1–2.5 Boolean & Relational

Weeks 3, 6–7

Working with the String Class

1.9 String Objects & Methods

Week 5

Working with Random & Math Classes

1.6 Static Methods & Math Class

Week 4

Using Decision Statements

2.2–2.7 if / else-if / switch / Comparing Objects

Weeks 6–8

Using Looping Statements

2.8–2.11 Loops · 4.3 Enhanced for · 4.14 File I/O

Weeks 8–10, 19, 25

Debugging & Exception Handling

2.12 Debugging · try/catch

Week 10

Classes & Constructors

3.1–3.2 Anatomy of a Class · Constructors

Week 12

Java Methods

3.4–3.8 Accessor / Mutator / Overloaded / Static Methods

Weeks 13–14

Arrays and ArrayLists

4.1–4.8 Arrays · ArrayList · Traversal · Algorithms

Weeks 19–22

OOP & Inheritance (1Z0-811 only)

9.1–9.7 Superclasses · Subclasses · Polymorphism · Object

Weeks 16–18


Assessment Calendar

Assessment

Date

Project?

Unit 1 Exam

Sep 23–27 (Week 6)

Unit 2 Exam

Nov 11–15 (Week 11)

Unit 3 Exam

Dec 16–20 (Week 15)

Inheritance Exam

Jan 27–31 (Week 18)

Arrays Exam

Feb 14 (Week 20)

ArrayList Exam

Mar 7 (Week 23)

2D Array Exam

Mar 14 (Week 24)

Unit 4 Exam

Mar 28 (Week 26)

White Tower Final Project

Apr 2

AP Exam (Bluebook, Digital)

May 2025


AP CSA 2025–26 CED: apcentral.collegeboard.org/courses/ap-computer-science-a Oracle 1Z0-811 Exam: education.oracle.com/java-foundations/pexam_1Z0-811

Getting Started: VS Code for AP Computer Science A (Windows 11)

This guide gets your machine ready to write, run, and organize Java programs for this course. Follow it top to bottom the first time — after that, you’ll only ever need the “Starting a New Assignment” section.


1. Install VS Code

  • Go to code.visualstudio.com and download the Windows installer (it detects Windows 11 automatically).

  • Run the installer. On the “Select Additional Tasks” screen, check these — they save you time later:

    • Add “Open with Code” action to Windows Explorer file context menu

    • Add “Open with Code” action to Windows Explorer directory context menu

    • Register Code as an editor for supported file types

    • Add to PATH

🛡️ Windows may show a blue “Windows protected your PC” screen when you run the installer — this is normal for new installers, not a sign anything is wrong. Click More info, then Run anyway.

  • Finish the install and launch VS Code.

📌 Personal laptop vs. school laptop: If you’re using a CAMS-provided laptop, check with your instructor first — VS Code may already be installed, or installing new software may require permission.


2. Install a Java Development Kit (JDK)

VS Code is just an editor — it doesn’t compile or run Java on its own. You need a JDK installed separately.

  • Go to adoptium.net (Eclipse Temurin — a free, widely-used JDK build).

  • Adoptium doesn’t auto-detect your system — you’ll pick four things manually. Set them to:

    • Operating System: Windows

    • Architecture: x64

    • Package Type: JDK

    • Version: the current LTS release (the highest-numbered version marked LTS — do not pick Java 8, it’s outdated)

  • Click the big Latest Release download button. This downloads the .msi installer.

  • Run the installer. You may see the same “Windows protected your PC” SmartScreen warning as before — click More info → Run anyway.

  • On the “Custom Setup” screen, make sure these are all enabled (they may be off by default):

    • Add to PATH

    • Set JAVA_HOME variable

    • JavaSoft (Oracle) registry keys

  • Finish the install.

  • Confirm it worked: open Command Prompt (search “cmd” in the Start menu) and type:

java -version
javac -version

Both commands should print a version number. If either says “not recognized,” restart your computer (PATH changes need a restart to take effect) and try again.


3. Install the Java Extension Pack in VS Code

  • Open VS Code.

  • Open the Extensions panel: Ctrl + Shift + X.

  • Search for “Extension Pack for Java” (publisher: Microsoft) and click Install.

This one install pulls in everything you need:

Included Extension

What It Does

Language Support for Java(TM) by Red Hat

Core language features — autocomplete, error checking, navigation

Debugger for Java

Lets you set breakpoints and step through code line by line

Test Runner for Java

Runs JUnit tests (not needed often in this course, but included)

Maven for Java

Build tool support (you won’t use this for class assignments)

Project Manager for Java

Powers the “Run” ▷ button above main()

Visual Studio IntelliCode

AI-assisted autocomplete suggestions — fine for suggestions, but remember the Academic Honesty Policy: complete AI-generated solutions are not allowed

  • Restart VS Code after installing (it will prompt you to).

⚠️ If VS Code still doesn’t recognize Java after restarting (no error, but also no Run link, or a “No Java Runtime” message): open the Command Palette (Ctrl+Shift+P), type Java: Configure Java Runtime, and confirm your installed JDK shows up and is selected. This is a common gap even when JAVA_HOME was set correctly during install — VS Code’s extension sometimes needs a manual nudge to find it.


4. Verify Everything Works — Hello World

  • Create a folder anywhere (Desktop is fine for this test) called HelloTest.

  • Open it in VS Code: File → Open Folder → select HelloTest.

  • Create a new file named exactly Main.java and paste in:

public class Main {
    public static void main(String[] args) {
        System.out.println("Hello, World");
    }
}
  • Save the file (Ctrl + S).

  • You should see a ▷ Run link appear directly above public static void main. Click it, or press Ctrl + F5.

  • A terminal panel opens at the bottom and prints Hello, World.

If you don’t see the Run link, close and reopen the folder — the Java extension sometimes needs a moment to index a brand-new workspace.

⚠️ File name must match class name. If your class is public class WeightOnJupiter, the file must be named WeightOnJupiter.java — not Main.java. This is a compile-time error in Java, not just a style suggestion.


5. Organizing Your Coursework

Set this up once, at the start of the year.

  • Create one parent folder for the entire course — for example, on your Desktop or in Documents:

AP-CSA-JAVA/
├── Unit1-UsingObjectsAndMethods/
│   ├── 1.2.1-Allowance/
│   │   └── Main.java
│   ├── 1.2.2-ScannerClass/
│   │   └── Main.java
│   ├── 1.3.1-WeightOnJupiter/
│   │   └── Main.java
│   ├── 1.7.2-Magic8Ball/
│   │   └── Main.java
│   ├── 1.10.1-MissionControl/
│   │   └── Main.java
│   └── FinalProject-ThemePark/
│       ├── Main.java
│       ├── Ride.java
│       └── Guest.java
├── Unit2-SelectionAndIteration/
│   └── ...
├── Unit3-ClassCreation/
│   └── ...
└── Unit4-DataCollections/
    └── ...
  • One subfolder per unit, one subfolder per assignment, named with the assignment number so it sorts and matches the syllabus (1.3.1-WeightOnJupiter, not weight or hw3).

  • Keep every file for one assignment — Main.java, any supporting classes, your Test Cases document — together in that assignment’s folder.

⚠️ The one real gotcha: don’t open the whole AP-CSA-JAVA folder as your workspace. VS Code’s Java extension treats everything inside an open folder as one big project. Since almost every assignment uses public class Main, having a dozen Main.java files under one open workspace will cause “duplicate class” errors that have nothing to do with your code.

Instead: each time you sit down to work on an assignment, use File → Open Folder and open only that assignment’s folder (e.g., just 1.3.1-WeightOnJupiter, not Unit1-UsingObjectsAndMethods and not AP-CSA-JAVA). VS Code remembers your recent folders under File → Open Recent, so switching between assignments is one click, not a re-navigation every time.



7. Common First-Day Problems

Problem

Fix

“Windows protected your PC” warning on install

This is normal SmartScreen behavior for new installers, not a sign of a problem — click More info → Run anyway

java/javac “not recognized” in terminal

Restart the computer — PATH changes need a fresh session

No “▷ Run” link above main()

Make sure the file is saved with a .java extension and the folder was opened with File → Open Folder (not just a loose file)

Extension installed but Java still not detected

Open the Command Palette (Ctrl+Shift+P) → Java: Configure Java Runtime and confirm your JDK is selected

“Duplicate class Main” error

You opened a parent folder containing more than one Main.java — open just the single assignment folder instead (see §5)

Class name / filename mismatch error

The public class name must exactly match the file name, including capitalization

Extension won’t install (school network)

Some school networks block the VS Code Marketplace — ask your instructor about offline .vsix installation or a personal hotspot for this one-time setup