Please enable JavaScript to use CodeHS

AP Computer Science A (Nitro)

This course is fully aligned to the College Board AP CS A course standards. Learn the basics of object-oriented programming with a focus on problem solving and algorithm development. Take this course and prepare to ace the AP Java test.


Units: 11
Timeframe: Year
Contact Hours: 120

By the Numbers

Contact Hours 120
Lessons 117
Videos 80
Exercises 287
Challenges 9
Offline Handouts 120


Unit Description
Primitive Types: This unit introduces students to the Java programming language and the use of classes, providing students with a firm foundation of concepts that will be leveraged and built upon in all future units. Students will focus on writing the main method and will start to call preexisting methods to produce output. Students will start to learn about three built-in data types and learn how to create variables, store values, and interact with those variables using basic operations.
Using Objects: This unit introduces a new type of data: reference data. Reference data allows real-world objects to be represented in varying degrees specific to a programmer’s purpose. This unit builds on students’ ability to write expressions by introducing them to Math class methods to write expressions for generating random numbers and other more complex operations. In addition, strings and the existing methods within the String class are an important topic within this unit.
Boolean Expressions and if Statements: This unit focuses on selection, which is represented in a program by using conditional statements. Conditional statements give the program the ability to decide and respond appropriately and are a critical aspect of any nontrivial computer program. In addition to learning the syntax and proper use of conditional statements, students will build on the introduction of Boolean variables by writing Boolean expressions with relational and logical operators.
Iteration: This unit focuses on iteration using while and for loops. This unit introduces several standard algorithms that use iteration. Knowledge of standard algorithms makes solving similar problems easier, as algorithms can be modified or combined to suit new situations.
Writing Classes: This unit will pull together information from all previous units to create new, user-defined reference data types in the form of classes. The ability to accurately model real-world entities in a computer program is a large part of what makes computer science so powerful. This unit focuses on identifying appropriate behaviors and attributes of real-world entities and organizing these into classes. Students will build on what they learn in this unit to represent relationships between classes through hierarchies.
Array: This unit focuses on data structures, which are used to represent collections of related data using a single variable rather than multiple variables. Just as there are useful standard algorithms when dealing with primitive data, there are standard algorithms to use with data structures. In this unit, students apply standard algorithms to arrays.
ArrayList: In this unit, students learn about the limitations of arrays, and are introduced to a new data structure - ArrayLists. Students are asked to compare the two data structures, and implement programs that utilize each.
2D Array: In this unit, students learn how to store data in increasingly complex ways by introducing them to the 2D arrays. Students will learn standard algorithms to utilize and search 2D arrays, as well as ways to use them effectively in their programs.
Inheritance: In this unit, students will learn how to recognize common attributes and behaviors that can be used in a superclass and will then create a hierarchy by writing subclasses to extend a superclass. Recognizing and utilizing existing hierarchies will help students create more readable and maintainable programs.
Recursion: In this unit, students will learn how to write simple recursive methods and determine the purpose or output of a recursive method by tracing.


Click on a demo to test it out.

Introduction to Magpie

While Loop Time

Finalizing Tic Tac Toe


Here are a few examples of teacher resources and materials to use in the AP Computer Science A (Nitro) course

Format of Course

The entirely web-based curriculum is made up of a series of learning modules that cover the fundamentals of programming. Each module is made up of short video tutorials, example programs, quizzes, programming exercises, challenge problems, and unit tests. The course is designed for a year long class that meets 5 days per week, though schools implement it in a variety of ways.

Who is it for?

There are no official prerequisites for the CodeHS AP CS A (Nitro) course, however we recommend that students take our Introduction to Computer Science prior to AP CS A. Students who have completed our Intro to CS course will be able to apply knowledge of concepts covered in the Intro course to the more advanced setting of the AP CS A course. It is also expected that students know basic English and algebra.

Professional Development

Teaching AP® Computer Science A

Learn how to lead a successful AP® Computer Science A class with CodeHS. The Teaching AP® Computer Science A professional development course prepares teachers to teach AP® Computer Science A with a focus on the Java programming language. Teachers will practice the skills they need to teach tricky concepts, debug programs, answer questions, and lead a blended classroom.

View Units
CodeHS PD Options