Please enable JavaScript to use CodeHS

AP Computer Science A (Nitro)


Unit Description
Primitive Types: Students learn about writing the main method and start to call preexisting methods to produce output. Students 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: Students learn how to create and use classes and objects. This unit builds on students’ ability to write expressions by introducing them to Math class and String methods to write expressions for generating random numbers and other more complex operations.
Boolean Expressions and if Statements: Students learn the syntax and proper use of conditional statements in Java, as well as how to implement Boolean variables in their programs by writing Boolean expressions with relational and logical operators.
Iteration: Students learn how to use iteration to improve the reusability and speed of their programs. Students evaluate which iterative structures should be used in a given context, and build programs that require them to choose the iterative structure that works best.
Writing Classes: Students learn how to create and implement complex classes and objects.
Array: Students learn about how to use and manipulate data in the form of arrays. Students explore the limitations of primitive data types in the context of storing data, and develop programs that use arrays to store and search for data.
ArrayList: 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: Students learn how to store data in increasingly complex ways by introducing them to the 2D arrays. Students learn standard algorithms to utilize and search 2D arrays, as well as ways to use them effectively in their programs.
Inheritance: Students learn how to recognize common attributes and behaviors that can be used in a superclass and create hierarchies by writing subclasses to extend a superclass.
Recursion: Students learn how to write simple recursive methods and determine the purpose or output of a recursive method by tracing.

Unit Description
Introduction to Programming in Java with Karel the Dog: Intro to Java with Karel the Dog. Learn the basics of java commands, control structures, and problem solving by solving puzzles with Karel. This is recommended as Summer Work for students entering AP CS A, or for students who are taking AP CS A as their first programming class.
AP Test Practice: In this module students will get a practice exam in the same format as the AP Computer Science in Java test.
Additional Exercises:
Elevens: In the Elevens lab, you will use Object Oriented design to create a solitaire card game. At the end of the lab, you'll use a Graphical User Interface to play the game you create! Students can complete this assignment after finishing Unit 6: Data Structures in AP CS A (Mocha). This assignment does not align with College Board Standards, as abstract classes are not covered in AP CS A (Nitro).
Magpie: In the Magpie lab, you will use String methods and pattern matching to create a chat bot that you can have a conversation with. Students can complete this assignment after finishing Unit 5: Writing Classes in AP CS A (Nitro), or Unit 4: Classes and Objects in AP CS A (Mocha).
Picture Lab: In this lab, you will write methods to modify pictures. You'll explore the way pictures are stored in memory, nested loops, interfaces, and inheritance. Students can complete this assignment after finishing Unit 9: Inheritance in AP CS A (Nitro), or Unit 5: Data Structures in AP CS A (Mocha). This assignment does not align with College Board Standards, as it uses Interfaces.
Consumer Review Lab: The persuasive power of words can be seen in a variety of places such as entertainment, news, social media, and even reviews and comments. Students learn about sentiment value and how this can be used to construct or modify a review to be more positive or negative using String manipulation. This lab can be used after Unit 4: Iteration in Nitro, and Unit 3 Methods in Mocha
Celebrity Lab: Students will discuss class design as it relates to the game Celebrity, where a person or team tries to guess the name of a celebrity from a given clue or set of clues. This lab includes inheritance as the basis for one of the activities, and also includes a Graphical User Interface. This lab can be completed after Unit 9 Inheritance in Nitro, and Unit 5 Data Structures in Mocha.
Steganography Lab: Steganography is the practice of concealing messages or information within other non-secret text or data. Students will use the same code from Picture Lab to explore the concepts of steganography and 2D arrays, hiding images or text inside of other images. This lab can be completed after Unit 8 2D Arrays in AP CS A Nitro, and after unit Unit 5 Data Structures in AP CS A Mocha.