AP CSA

UTeach AP CSA header image

UTeach AP CSA

AP Computer Science A is a rigorous college-level course designed to prepare students for advanced coursework and potential career pathways in computer science.

Course Overview

In this rigorous, project-based curriculum, students deep-dive into programming concepts while collaborating to solve a series of real-world challenges. Each unit introduces unique interplanetary missions where students tackle hands-on problems as they "travel through space."

This curriculum immerses students in Java programming topics (e.g. abstraction, algorithms, data structures, object-oriented programming) and prepares students for advanced college coursework and potential career pathways in computer science. 

The UTeach AP CSA curriculum has been re-endorsed by the College Board in alignment with the 2025–26 course framework. 

"The students are eager to see each unit project. The projects not only pique the students' interests, but give them a reason to master each lesson as it is presented. I'm glad you continued that practice with the CSA materials."

—Wendy G., CSA and CS Principles teacher

Included With Your License

  • Comprehensive teacher materials
  • Complete student-facing curriculum
  • Unlimited teacher support
  • Codio platform access, with student accounts

AP CSA Unit Descriptions

Jump to:

Illustration of an interplanetary mission from Unit 1 of the UTeach AP CSA curriculum


Interplanetary Missions

Throughout the units, students embark on a “journey through space” as they apply their coding skills to solve complex problems, all woven into an engaging series of interplanetary missions. As part of the curriculum’s overarching narrative, students join a top-secret Intergalactic Research and Operations Network (I.R.O.N. Force) tasked with exploring exoplanets, identifying habitable worlds, and securing humanity's place in the galaxy. Explore example missions:  

  • Fuel of Dreams Mission: Students research key details about the James Webb Space Telescope and then write a Java program to estimate the fuel efficiency for its journey.
  • Alien Life Detection Mission: I.R.O.N. Force uses the James Webb Space Telescope to analyze atmospheric data from a mission to assess the potential for alien life on an exoplanet. The program must evaluate input environmental data (e.g., temperature, atmospheric composition, and water presence) to determine the planet's suitability for alien life.
  • Mission Encryptable: As I.R.O.N. Force searches for signs of alien life, they must have a secure communications network to relay their findings back to Earth. Students use Java to build a secure encryption and decryption system to protect their messages.
  • Alien Artifact Analyzer Mission: Members of the I.R.O.N. Force team have discovered alien artifacts on an exile planet. Students build a Java program to analyze, catalog, and evaluate these artifacts to uncover their origin and purpose.
  • Alien Translator Mission: After investigating four planets, the exploration team approaches a fifth planet and receives a signal from a living alien civilization. Students build a Java program to decode and translate the message, using shared communication patterns to establish contact.
  • First Contact Mission: I.R.O.N. Force receives a message from the aliens, redirecting the team to dock at an orbiting space station. As they approach, automated signals guide the docking process. Your task is to build a Java program that records this historic first contact by logging docking attempts, decontamination procedures, and communication efforts.
  • Bevox Outpost Mission: After first contact, I.R.O.N. Force explores planet Bevox and is granted permission to establish a four-member outpost. To find the safest location, the team surveys multiple regions for air, soil, water, and bio-matter quality. Students build a Java program that reads a contamination dataset into a 2D array and analyzes it to identify the best site.

Hands-On Labs

Hands-on labs throughout the curriculum provide additional opportunities for students to practice programming and problem-solving skills. Explore sample labs:

  • Boolean Detective Lab: Create a program to analyze clues and determine which suspect is guilty in a case involving a stolen artifact. The clues involve logical conditions about suspects, alibis, and evidence.  
  • Virtual Pet Playdate Lab: Develop a program to create and interact with virtual pets. Students will create a VirtualPet class with instance variables, a constructor, and methods, as well as a tester class to instantiate objects of the VirtualPet class and call the methods.
  • Analyzing Car Pollution Lab: Complete coding tasks to prepare pollution data (NO2 levels) stored in an array to be analyzed to identify which city intersection has the most measured air pollution. 

Unit 1: Using Objects and Methods

Unit 1 introduces fundamental Java programming concepts, including algorithms, programming structures, variables, data types, input/output operations, and type casting. Students learn to write clear, well-documented code, use APIs, and work with class and instance methods, the Math class, and string manipulation. They also explore object-oriented principles, such as object creation, storage, and understanding objects as class instances. 

Unit 2: Selection and Iteration

Unit 2 focuses on algorithmic decision-making and repetition using selection and iteration structures in Java, such as if statements, while loops, and for loops. Students construct and evaluate Boolean expressions, develop efficient compound expressions, and analyze performance trade-offs through informal run-time analysis. These concepts are applied to string manipulation and nested iteration to design and evaluate algorithms. 

Unit 3: Class Creation

Unit 3 emphasizes abstraction and program design, highlighting how design choices affect readability, maintainability, and efficiency. Students learn about Java class structure, including constructors, variables, methods, scope, and access control for encapsulation. They explore passing and returning object references, memory implications, and the use of the this keyword to distinguish instance variables from parameters.  

Unit 4: Data Collection

Unit 4 covers data structures, algorithms, and ethical considerations in computing, emphasizing the societal impact of data collection. Students work with datasets, arrays, ArrayLists objects, and two-dimensional arrays, implementing traversal, searching, and sorting algorithms while analyzing their efficiency. This unit also introduces recursion as a problem-solving tool and culminates with a look at recursive implementations of searching and sorting algorithms to enhance algorithmic thinking. 

Return to Top