Please enable JavaScript to use CodeHS

AP Computer Science A (Mocha)

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® Computer Science A test.

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.

Basic Java

Learn the basics of the Java programming language. This unit covers printing, variables, types, as well as how to use the basic control structures in the Java language.


Methods are bits of code that perform a specific task. This module teaches you how to define methods in your programs and uses the autograder to test if your methods are working correctly.

Classes and Object-Oriented Programming

This unit teaches students the basics of Object Oriented Programming in Java, which is a powerful programming paradigm. Students will learn how objects store data and interact with each other in Java programs. Students will design and implement classes and extend classes using inheritance

Data Structures

This method will introduce basic data structures in Java including arrays, ArrayLists, 2 dimensional arrays and HashMaps. Data structures will be used to design larger applications.


In this project, you will develop a BlackJack game!


In Battleship, you will use Object Oriented design to implement the board game Battleship.

Algorithms and Recursion

In this module students will be introduced to fundamental searching and sorting algorithms including sequential search, binary search, insertion sort, selection sort, and mergesort. Recursion is also introduced.

AP Test Practice

In this module students will get a practice exam in the same format as the AP Computer Science in Java test.

Final Project

This is your chance to build your own application using the new skills you've learned!

Try it!

Check out the programs you'll be able to make
view demos

Learning on CodeHS