Skip to main content
AP Computer Science A in Java

Learn about our AP CSA courses: AP CSA (Nitro) and AP CSA (Mocha)

Kayla Pica avatar
Written by Kayla Pica
Updated over 6 months ago

About the AP Computer Science A Course

CodeHS offers two AP Computer Science A courses: AP CSA (Nitro) and AP CSA (Mocha). Both are year-long courses designed to help students master the basics of Java and equip them to successfully pass the AP Computer Science A Exam at the end of the school year. 

The curriculum has been pre-approved by College Board's AP Course Audit as meeting or exceeding the curricular expectations colleges and universities have for this subject.

Visit our AP CSA Hub or our AP CSA Resources page to learn more about the courses and other recourses we offer! You can also view the AP CSA (Nitro) Webinar for more information.


Course Prerequisites

The AP Computer Science in Java course is a fast-paced, AP level course. While there are no official prerequisites for the CodeHS AP Java course, we recommend that students take our Introduction to Computer Science course in either JavaScript or Python prior to AP CSA. Learn more about our high school curriculum pathways here.

AP CSA will prepare students for the multiple choice AP Computer Science in Java exam. Each unit includes a cumulative AP-style multiple choice exam to test understanding of the concepts in the unit.


AP CSA Course Flavors: Nitro vs. Mocha

The AP CSA (Nitro) course is the most recent version of our course, and was created to align with the sequence of units recommended by College Board in the updated Course and Exam Description

College Board Units

The AP Computer Science A (Mocha) is aligned to the AP CSA standards framework, however it teaches objects later in the course, which differs from the unit sequence recommended by College Board.

The AP CSA (Nitro) course implements the sequence of units that College Board recommends in the new Course and Exam Description. Note that this sequence of units is not required — teachers may continue to teach topics in the order that works best for their students.

Course Differences: Unit Order

AP CSA (Mocha) Units

AP CSA (Nitro) Units

  • Unit 1: Introduction to Programming in Java with Karel the Dog

  • Unit 2: Basic Java

  • Unit 3: Methods

  • Unit 4: Classes and Object-Oriented Programming

  • Unit 5: Data Structures

  • Unit 6 : Blackjack

  • Unit 7: Battleship

  • Unit 8: Algorithms and Recursion

  • Unit 9: AP Test Practice

  • Unit 10: Final Project

  • Unit 1: Primitive Types

  • Unit 2: Using Objects

  • Unit 3: Boolean Expressions and If Statements

  • Unit 4: Iteration

  • Unit 5: Writing Classes

  • Unit 6: Arrays

  • Unit 7: ArrayList

  • Unit 8: 2D Array

  • Unit 9: Inheritance

  • Unit 10: Recursion

Main Method

The AP Computer Science A (Mocha) course instructs students using the CodeHS Java Console. 

Animated GIF demonstrating the Java Console found in Mocha assignments

Our AP CSA (Nitro) course utilizes the Java Main Method instead of the CodeHS Java Console that we use in AP CSA (Mocha). Students will also use the Scanner class to take user input.

Animated GIF showing a Java program running using the Java Main Method

Choosing the Right Course: Mocha vs. Nitro

Depending on experience and preferred instructional approach, the right course varies by teacher. This chart can help you make the right decision for your classroom!

AP CSA - Mocha

AP CSA - Nitro

Exam Preparation: This course prepares students for success on the AP Computer Science A exam.

Exam Preparation: This course prepares students for success on the AP Computer Science A exam.

Familiarity: If you've taught using Mocha in previous years, you may feel more comfortable teaching this course.

College Board Alignment: This course adopts the sequence of units recommended by the College Board, making it easier to use the AP Classroom resources alongside your CodeHS curriculum.

CodeHS Java Console: This course uses the CodeHS Java Console to more easily scaffold instruction and make it easier for students to get started programming. The user input for the console program uses a simplified input/output syntax.

Main Method/Scanner Class: This course uses the Java main method and Scanner class, to better allow teachers and students to use their code in other popular IDE's and emulate a more professional programming environment.

Unit Alignment: This course is not aligned to the sequence of units recommended by the College Board. While teachers can still use AP Classroom resources, they should be cognizant of where they bring in resources to make sure students have learned the prerequisite topics.

Course Familiarity: As this is a new course, teachers may not be familiar with all the new assignments and topics.


Still have questions? Contact our team at hello@codehs.com to learn more!

Did this answer your question?