Please enable JavaScript to use CodeHS

New

AP Computer Science A (Cortado)

This course is fully aligned to the College Board AP CS A course standards and is officially endorsed by the College Board. The course introduces students to the design of solutions to problems, the use of data structures to organize large sets of data, the development and implementation of algorithms to process data and discover new information, the analysis of potential solutions, and the ethical and social implications of computing systems.The course emphasizes object-oriented programming and design using the Java programming language. For more information on this course, go to https://www.codehs.com/csa25

Overview & Highlights

Level
High School
Contact Hours
135
Timeframe
Year

Course Overview

To view the entire syllabus, click here or click to explore the full course.

Using Objects and Methods
Students learn the fundamentals of writing and running Java programs, including how to use variables, data types, expressions, and input/output. They are also introduced to classes, and learn how to create objects and call methods, including those from built-in classes such as Math and String.
Selection and Iteration
Students learn how to control the flow of a program using conditional statements and loops. They develop Boolean expressions, use relational and logical operators, and write selection statements with if, if-else, and if-else-if. Students also explore iteration through while and for loops, including nested and compound iterations.
Class Creation
Students learn how to design and implement classes using principles of object-oriented programming. They explore encapsulation, access control, and the structure of classes with instance variables, constructors, and methods. Students write accessor and mutator methods, define behaviors using parameters and return values, and understand how object references are passed and returned.
Data Collections
Students learn how to work with collections of data using arrays, ArrayList objects, and 2D arrays. They develop and analyze algorithms that involve searching, sorting, traversing, and manipulating elements in these structures. Students also explore reading data from text files and using wrapper classes to convert between primitive types and objects.
Extension: 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.
Receipt Lab
Students will write a program that incrementally builds the functionality to generate receipts, similar to those received from stores and restaurants. They will start with a simple snack bar receipt and later develop a more advanced version that collects user input to produce customized receipts. This lab can be used after Unit 1: Using Objects and Methods in Cortado, Unit 2: Using Objects in Nitro, and Unit 3: Methods in Mocha.
Magpie 2.0 Lab
Students explore the foundations of chatbot technology by learning about natural language processing (NLP) and analyzing different types of chatbot interactions. They then progressively build and refine a chatbot in Java, enhancing it with random responses, keyword detection, string transformation, and arrays to simulate increasingly sophisticated conversation behaviors. All but Activity 5 of this lab can be used after Unit 2: Selection and Iteration in Cortado, Unit 4: Iteration in Nitro, and Unit 2: Basic Java in Mocha. Activity 5, which includes arrays, can be used after completing basic array creation lessons.
Virtual Pet Lab
Students explore the design and implementation of a virtual pet by first analyzing existing digital pets and brainstorming desirable features. They then apply object-oriented programming principles in Java to design a VirtualPet class, implement and test methods for interaction and status management, and extend functionality through additional classes like Food and Game. Finally, students enhance their pet simulation with creative features such as health monitoring and environmental interactions, reinforcing class composition and encapsulation. This lab can be used after Unit 3: Class Creation in Cortado, Unit 5: Writing Classes in Nitro, and Unit 4: Classes and Object-Oriented Programming in Mocha.
Data Set Lab
Students explore how real-world data sets can be modeled, processed, and analyzed through programming. In this lab, they begin by reflecting on data collection, privacy, and reliability, then move on to building a Cereal class to represent entries from a cereal data set. They practice reading data from files into an ArrayList, create objects to store and organize that data, and write methods to analyze nutritional values. Additionally, students have the chance to extend their work by using JavaFX library to validate data quality and visualize patterns. This lab can be completed after Unit 4: Data Collections in Cortado, Unit 7: ArrayList in Nitro (with Using Text Files lesson from Cortado), Unit 5: Data Structures in Mocha (with Using Text Files lesson from Cortado).
2048 Lab
Students develop a complete version of the popular puzzle game 2048 by incrementally building its core functionality in Java. They begin by exploring the game mechanics and writing methods to place initial tiles on the board. Next, they implement movement logic to slide and merge tiles in all four directions while updating the score. Students then add a method to detect when the game is over and an optional feature to track and save high scores. Throughout the lab, they reinforce skills in 2D array traversal, control structures, and algorithmic problem-solving while applying object-oriented programming principles to manage game state and user interaction. This lab can be completed after Unit 4: Data Collections in Cortado, Unit 7: ArrayList in Nitro (with Using Text Files lesson from Cortado), Unit 5: Data Structures in Mocha (with Using Text Files lesson from Cortado).
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 2: Selection and Iteration in Cortado, Unit 4: Iteration in Nitro, and Unit 3: Methods in Mocha.
Steganography Lab
Steganography is the practice of concealing messages or information within other non-secret text or data. Students explore the concepts of steganography and 2D arrays, hiding images or text inside of other images. This lab can be completed after Unit 4: Data Collections in Cortado, Unit 8: 2D Arrays in AP CS A (Nitro), Unit 5: Data Structures in AP CS A (Mocha).
Celebrity Lab
Students learn how to 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. Note: this lab contains topics (inheritance) that are now considered out-of-scope for the AP CSA exam. In order to complete this lab, students will need to learn about those topics beforehand, in addition to completing the recommended units below. This lab can be completed after Unit 4: Data Collections in Cortado, Unit 9: Inheritance in AP CS A (Nitro), and Unit 4: Classes and Object-Oriented Programming in AP CS A (Mocha).
Elevens Lab
Students learn how to use Object-Oriented design to create a solitaire card game. At the end of the lab, students use a Graphical User Interface to play the game they create! Note: this lab contains topics (inheritance, abstract classes and methods, and interfaces) that are now considered out-of-scope for the AP CSA exam. In order to complete this lab, students will need to learn about those topics beforehand, in addition to completing the recommended units below. Students can complete this assignment after finishing Unit 4: Data Collections in Cortado, and Unit 6: Data Structures in AP CS A (Mocha).
Magpie Lab
Students learn how to use String methods and pattern matching to create a chatbot that they can have a conversation with. Students can complete this assignment after finishing Unit 3: Class Creation in Cortado, Unit 5: Writing Classes in AP CS A (Nitro) and Unit 4: Classes and Objects in AP CS A (Mocha).
Picture Lab
Students learn how to write methods to modify pictures and explore how images are stored in memory. This lab introduces concepts such as nested loops, interfaces, and inheritance. Note: this lab contains topics (inheritance and interfaces) that are now considered out-of-scope for the AP CSA exam. In order to complete this lab, students will need to learn about those topics beforehand, in addition to completing the recommended units below. This lab can be completed after Unit 4: Data Collections in Cortado, Unit 9: Inheritance in AP CS A (Nitro), or Unit 5: Data Structures in AP CS A (Mocha).
Midterm Exam (Units 1-2)
Final Exam (Units 1-4)
AP Test Practice
In this module students will get a practice exam in the same format as the AP Computer Science in Java test.
Java Level 1 Certification Practice
Students prepare for the CodeHS Java Level 1 Certification by taking practice quizzes and reviewing content from the CodeHS Java courses.
AP CSA (Cortado) Pretest
AP CSA (Cortado) Posttest
Extra Practice (Nitro Content Not That Didn't Make It)
Additional Exercises (Are these still good? Should these be added to other Extra Practice module?)
New Items for the New Course
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.

144
Lessons
93
Videos
540
Exercises
12
Challenges

College Board Endorsed

CodeHS is an endorsed provider by the College Board for AP computer science courses and PD. This endorsement affirms only the components of Endorsed Provider's offerings aligned to all the AP Curriculum Framework standards and the AP CS assessments.

Standards

AP Computer Science A (Cortado) is aligned with the following standards

Standards Framework View Alignment

Customizable Assignments

Create and organize Assignments in any CodeHS course that you're teaching. You can even add custom assignments to pre-existing CodeHS courses.

Learn More

Actions for Teachers

Didn't find what you were looking for? Here are a few links that might be useful to you.


AP® Computer Science A FRQ Center

This page lists resources for you and your students to practice AP® Computer Science A FRQs. It includes PDFs, pre-entered code, and autograded practice problems from past AP® CSA exams.

Learn More