AP Computer Science A (AP CSA) is one of the two AP Computer Science exams, and introduces students to software engineering and object-oriented programming using the Java programming language. It is equivalent to an introductory college computer science course, allowing students to potentially earn college credit if they perform well on the AP CSA Exam. The AP CSA Exam consists of 40 multiple-choice questions where students evaluate Java code segments and 4 free response questions where students write Java code that meet required specifications and achieve expected outcomes. This year the exam will be held on Wednesday, May 7, 2025.

AP Computer Science A

Given the popularity of the Computer Science major in colleges, AP Computer Science A is almost required these days for students who are interested in pursuing a college major in computer science or engineering. In the last 10 years, the number of high school and middle school students taking the AP CSA exam has grown almost 900%, making it by far, the fastest growing AP exam. It can lead to careers in aerospace engineering, botany, business, mathematics, physics, zoology, and so much more.

What do students learn in AP CSA?

Does your student want to cure cancer or solve climate change? AP Computer Science A explores how to use, build, and work with the technologies of tomorrow to help answer some of the biggest questions of today, according to the College Board. AP CSA covers a broad range of topics, including 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, and the analysis of potential solutions. Students learn how to use the Java programming language as they explore these topics as well as essential software engineering skills and best practices.

Why should students take AP CSA?

AP CSA is a great next step for students who want to learn a more advanced programming language or that intend to pursue a career in computer science. Additionally, AP CSA provides students with opportunities to explore new concepts like a software engineer and develop computational thinking and problem solving skills. In this course, students learn how they can use programming to pursue personal interests and see the authenticity and relevance of programming concepts.

How can students prepare for AP CSA?

Learn how to code early! While the course is designed for students of all levels of experience, learning to code early and practicing often increases students' confidence and success in AP CSA. Students can take our live online, expert-led classes to learn how to code and strengthen their knowledge and skills in programming and computational thinking skills.

Additionally, students can explore online resources and tutorials to prepare for the AP CSA exam, such as:

If your student is just getting started learning how to code and wants to develop a strong foundation in programming and software engineering skills, we encourage the Coding Essentials pathway to prepare them for AP CSA.

Pathway for learning AP CSA exam content

With this pathway, students start by taking an award-winning live online Accelerated Scratch course to focus on building fundamental computational thinking and programming skills. There's even a free introduction.

Students then continue to the Mobile Coding for Apps and Games course to learn how to apply these skills to mobile app development.

Then the Python for AI class exposes students to the Python programming language and solving real-world problems using one of the most popular programming languages used by software engineers and tech companies. And in the Build Your Web course, students learn the JavaScript programming language as well as HTML/CSS, which are additional programming languages and skills used in many of the websites and apps we use daily.

These courses build a strong foundation to prepare students for AP CSA, where students learn object-oriented programming principles and the Java programming language.

Frequently asked questions about AP Computer Science A

This webinar with Jamila Cocchiola covers all things AP Computer Science. Cocchiola is the Curriculum Development Manager at Code.org and led to team on the development of recently launched AP Computer Science A curriculum. She has been teaching Computer Science for years, has won multiple awards for her dedication in Computer Science education for children, and before her time at Code.org was a software engineer.

What is the A in AP Computer Science A?

Nothing! College Board used to offer AP Computer Science A and AP Computer Science AB, and the A and AB were simply indicators of level. AP Computer Science AB was discontinued in 2009 due to low numbers of students taking the exam, but it used to cover all of the content of AP Computer Science A in addition to more advanced topics. The name of AP Computer Science A was simply not renamed after discontinuing AP Computer Science AB.

How hard is AP Computer Science A?

AP Computer Science A can be challenging, but it is not hard. The course provides students in high school and even middle school with a variety of support to help them learn and practice the concepts to not only learn the Java programming language well but also prepare them for the AP CSA Exam.

Is AP Computer Science A for beginners?

AP Computer Science A is intended for students in grades 9-12. However, students in grades 6-8 can take AP CSA to learn Java and software engineering concepts then take the AP CSA Exam in high school. It does not assume prior programming knowledge or experience with Java. While the course is designed for students of all levels of experience, it is recommended that students have taken at least an introductory computer science course.

Your student might also be interested in learning how to start a coding club at their high school.

Learn more about coding for teens.


Written by Jamila Cocchiola who has always been fascinated with technology and its impact on the world. The technologies that emerged while she was in high school showed her all the ways software could be used to connect people, so she learned how to code so she could make her own! She went on to make a career out of developing software and apps before deciding to become a teacher to help students see the importance, benefits, and fun of computer science.