Why you can trust ZDNet
ZDNet independently tests and researches products to bring you our best recommendations and advice. When you buy through our links, we may earn a commission.Our process
'ZDNet Recommends': What exactly does it mean?
ZDNet's recommendations are based on many hours of testing, research, and comparison shopping. We gather data from the best available sources, including vendor and retailer listings as well as other relevant and independent reviews sites. And we pore over customer reviews to find out what matters to real people who already own and use the products and services we’re assessing.
When you click through from our site to a retailer and buy a product or service, we may earn affiliate commissions. This helps support our work, but does not affect what we cover or how, and it does not affect the price you pay. Neither ZDNet nor the author are compensated for these independent reviews. Indeed, we follow strict guidelines that ensure our editorial content is never influenced by advertisers.
ZDNet's editorial team writes on behalf of you, our reader. Our goal is to deliver the most accurate information and the most knowledgeable advice possible in order to help you make smarter buying decisions on tech gear and a wide array of products and services. Our editors thoroughly review and fact-check every article to ensure that our content meets the highest standards. If we have made an error or published misleading information, we will correct or clarify the article. If you see inaccuracies in our content, please report the mistake via this form.
If you're considering pursuing computer science and want to start earning college credit in high school, you're probably debating between taking AP computer science principles and AP computer science A.
These two advanced placement courses cover similar content, but the specifics and exam formats differ.
The AP computer science A course and exam focus on computing skills associated with Java. AP computer science principles is a broader, conceptual look at the field of computer science. You can take one, the other, or both. Here's what you need to know to help you decide.
AP computer science A spans one semester and emphasizes using Java. Because Java is a vast programming language, the course focuses on object-oriented programming and design.
The AP computer science A course includes 10 units of content. During the class, you gain insight into coding by using Java to write and test code as you explore topics like modularity, variables, arrays, and the impact of computing.
By the time the course comes to an end, you'll have the skills to:
Write and implement code
Test and document code
As part of the AP computer science A course, you complete a minimum of 20 hours of hands-on lab work.
What classes should I take before enrolling in AP computer science A?
No previous coursework in computer science is required to enroll in AP computer science A.
However, the College Board — which administers AP exams — recommends:
High school-level proficiency in English and algebra
Familiarity with functions
Familiarity with the Cartesian coordinate system
The course builds on pre-existing mathematical reasoning skills. Consider this with your advisor before enrolling.
What is the AP computer science A exam like?
You'll take the AP computer science A exam at the semester's end. It lasts three hours and features two sections. Each lasts 90 minutes and counts for half of the overall grade.
The first section consists of 40 multiple-choice questions. You may use a single dataset to answer multiple questions.
The second section of the AP computer science A exam includes four free-response questions. You'll answer each question by writing code. The questions focus on the following topics:
AP computer science principles is a comprehensive look at the field of computer science. You study five big concepts from computer science:
Algorithms and programming
Computer systems and networks
Impact of computing
The instructor chooses the programming language you use as you progress through the curricula. You'll learn to:
Make connections between computing concepts
Design programs to solve a problem or complete a task
Analyze computational work
Apply abstractions to computation and modeling
You also gain the ability to communicate about technology and computation and work collaboratively to solve problems.
What classes should I take before enrolling in AP computer science principles?
There are no required prerequisites for AP computer science principles. The College Board recommends familiarity with:
High school algebra
If you wish to take both AP computer science A and AP computer science principles, you may complete them in any order.
What is the AP computer science principles exam like?
The AP computer science principles exam includes two parts.
You'll spend at least 12 hours of class time completing a "Create Performance Task." It accounts for 30% of your overall grade. You design and implement code that creatively solves a problem or expresses your interests. You'll also create a video and written responses to prompts.
The final assessment consists of 70 multiple-choice questions you complete in two hours.
Multiple-choice questions fall into three categories, according to the College Board:
Single-select questions with a reading passage about a computing innovation
This test is 70% of the overall exam grade.
Which class should I take first: AP computer science A or AP computer science principles?
No specific sequence exists for the two AP computer science courses.
However, if you're new to computer science and programming, we recommend taking AP computer science principles first.
AP computer science A's focus on Java and object-oriented programming can be intimidating for beginners. Plus, once you understand computer science's big ideas — as covered in AP computer science principles — you can apply them to programming.
Which is more difficult: AP computer science A or AP computer science principles?
The difficulty level of each course varies depending on your background, skills, and interest. Many students find AP computer science A more difficult because of its hands-on activities and narrower scope.
AP computer science principles cover broad aspects of the discipline. This might be overwhelming to some learners.
Taking an AP computer science course builds knowledge of the field regardless of which one you complete.
AP computer science A teaches you about coding and its functions, while AP computer science principles shows the discipline's broad strokes.
Any AP course can count toward college credit requirements, another benefit to enrolling in one or more classes.
This article was reviewed by Monali Mirel Chuatico
In 2019, Monali Mirel Chuatico graduated with her bachelor's in computer science, which gave her the foundation that she needed to excel in roles such as a data engineer, front-end developer, UX designer, and computer science instructor.
Monali is currently a data engineer at Mission Lane. As a data analytics captain at a nonprofit called COOP Careers, Monali helps new grads and young professionals overcome underemployment by teaching them data analytics tools and mentoring them on their professional development journey.
Monali is passionate about implementing creative solutions, building community, advocating for mental health, empowering women, and educating youth. Monali's goal is to gain more experience in her field, expand her skill set, and do meaningful work that will positively impact the world.
Monali Mirel Chuatico is a paid member of the Red Ventures Education Integrity Network.