
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

We're endorsed by the College Board
UTeach CSA fully aligns with both the spirit and letter of the College Board’s AP® Computer Science A Framework.
AP CSA Unit Descriptions
Jump to:
- Interplanetary Missions
- Hands-On Labs
- Unit 1: Using Objects and Methods
- Unit 2: Selection and Iteration
- Unit 3: Class Creation
- Unit 4: Data Collection

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 division 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. This mission requires students to make careful calculations using a simplified mathematical model to determine the energy needed to travel vast distances.
- Alien Life Detection Mission: Students develop a Java program to analyze data from a simulated space mission and 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. This mission reinforces key Java concepts, including variables, data types, expressions, input/output, and Math class methods.
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.
More Information about UTeach AP CSA
- College Board–Approved Syllabus
- College Board Course and Exam Description (CED)
- 2025–26 UTeach CS Course Release Notes
- Technical Requirements
Interested in viewing sample teacher materials?