Are you thinking about taking AP Computer Science Principles but aren't sure if it's the right class for you? Or maybe you're already enrolled but want to put yourself in the best position to score well on the AP exam? There are aspects of the class and AP Computer Science Principles exam that are quite different compared to other APs, and the earlier you know what to expect, the better prepared you'll be. That's where we come in!
Read this article to learn what the AP Computer Science Principles course covers, what the two (very different) parts of the exam look like, and what the best practice resources and study tips are to help you feel confident well before exam day.
What Is AP Computer Science Principles? How Does It Differ From AP Computer Science A?
What is AP Computer Science Principles and what will you learn in the class? The AP Computer Science Principles course is designed to give students a broad overview of computing. In the course, students learn how to use computer science to create algorithms and programs that solve problems. The teacher chooses the programming language for the course. You can learn more about the course here, but here are the five main course topics and a brief overview of what you'll learn in each of them:
- Computational Solution Design: Design and evaluate computational solutions for a purpose.
- Algorithms and Program Development: Develop and implement algorithms.
- Abstraction in Program Development: Develop programs that incorporate abstractions.
- Code Analysis: Evaluate and test algorithms and programs.
- Computing Innovations: Investigate computing innovations.
Computer Science A, on the other hand, has a narrower focus. In this course, students study in-depth how to use the programming language Java to solve problems. It's more focused on practical uses of computer programming, like problem solving and object-oriented programming. Both the course and exam require students to analyze, write and test code.
The final AP exams for both these courses are also quite different. For AP Computer Science Principles, there is a Create performance task which the student works on throughout the course. On the exam day, they only answer a set of multiple-choice questions. We discuss the AP Comp Sci Principles exam in detail in the next section. The AP Computer Science A exam is more traditional with no long-term project included as part of your AP score, just multiple-choice and free-response sections on exam day.
So, is AP Computer Science Principles worth taking? The two computer science AP courses complement each other, and neither is overall better or more impressive to take. To decide which course to take (or whether or not to take both), take a closer look at what each course covers, talk to students at your school who have taken the courses, and think about what your main goals are from an AP computer science course. If you're more interested in practical components of coding, and you definitely want to learn Java, AP Computer Science A might be the better choice, but if you're looking for more of a broader overview of what computer science skills can do and you're open to learning any popular programming language, AP Computer Science Principles could be the better option.
How Is the AP Computer Science Principles Exam Structured?
How long is the AP Computer Science Principles exam? If you're used to AP exams where you take the entire test in a few hours, know that the AP Comp Sci Principles exam is somewhat different. The AP Computer Science Principles exam has two main parts: the Create performance task and a multiple-choice exam. The multiple-choice exam is taken like other AP tests, at a specific location and time, however; you'll work on the Create task throughout the course, submitting it at or before a specific deadline around the multiple-choice exam date. So it's like you have both an in-person test and a take-home test for this course.
Create Performance Task
For the Create performance task, you'll create a computer program of your choice. The College Board recommends at least 12 hours of in-class time to complete this project. You'll submit both a written response and a video along with the code, and together they're worth 30% of your total exam score. You're allowed to work with other classmates while you're developing your program and its associated code, but your written and video submissions must be solely your own work.
The College Board provides a document and video on the Create task and what it should look like, and below we've created an overview of the three parts your Create performance task submission must include:
- Can be created with others
- PDF file
- Must include:
- Instructions for input
- Use of at least one list or other collection type "to represent a collection of data that is stored and used to manage program complexity and help fulfill the program’s purpose"
- At least one procedure that contributes to the program's intended purpose. You must define the procedure's name, the return type (if necessary), and one or more parameters
- An algorithm that includes sequencing, selection, and iteration in the body of the procedure
- Calls to your student-developed procedure
- Instructions for output based on input and program functionality
- Must be completed entirely on your own
- Must show the running of your program as well as the functionality that you created
Written Response to Prompts
- Must be completed entirely on your own
- Written responses to prompts 3a-3d (total response can't exceed 750 words, not including code)
- 3a: Provide a written response that does all three of the following (approx 150 words):
- Describes the overall purpose of the program
- Describes what functionality of the program is demonstrated in the video
- Describes the input and output of the program demonstrated in
- the video
- 3b: Capture and paste two program code segments you developed during the administration of this task that contain a list (or other collection type) being used to manage complexity in your program. (approx 200 words)
- The first program code segment must show how data have been stored in the list.
- The second program code segment must show the data in the same list being used, such as creating new data from the existing data or accessing multiple elements in the list, as part of fulfilling the program’s purpose.
- Write a response that identifies the name of the list being used in this response, describes what the data contained in the list represent in your program, and explains how the selected list manages complexity in your program code by explaining why your program code could not be written, or how it would be written differently, if you did not use the list.
- 3c: Capture and paste two program code segments you developed during the administration of this task that contain a student-developed procedure that implements an algorithm used in your program and a call to that procedure. (approx 200 words)
- The first program code segment must be a student-developed procedure that defines the procedure’s name and return type, contains and uses one or more parameters that have an effect on the functionality of the procedure, and implements an algorithm that includes sequencing, selection, and iteration.
- The second program code segment must show where your student-developed procedure is being called in your program.
- Then, provide a written response that does both of the following: describes in general what the identified procedure does and how it contributes to the overall functionality of the program AND explains in detailed steps how the algorithm implemented in the identified procedure works. Your explanation must be detailed enough for someone else to recreate it.
- 3d: Provide a written response that does all three of the following: (approx 200 words)
- Describes two calls to the procedure identified in written response 3c. Each call must pass a different argument(s) that causes a different segment of code in the algorithm to execute.
- Describes what condition(s) is being tested by each call to the procedure.
- Identifies the result of each call.
The second part of the AP Computer Science Principles exam is the multiple-choice section. The multiple-choice section consists of 70 questions, each with four answer options. Of these questions, 57 questions are the standard "one correct answer" question types, 5 also have one correct answer and are based on a reading passage, and 8 have two correct answers. You'll have 120 minutes to complete this section, and it's worth 70% of your total score.
Should You Take the AP Computer Science Principles Exam?
Now that you know what to expect from that AP Computer Science Principles exam, should you take it? Most students who take an AP class in high school take the corresponding AP exam in the spring as the hope is that the course has prepared you to pass the exam. In this respect, Computer Science Principles is no different. If you feel like you have at least a pretty good grasp on the course material--you don't need to be an expert on everything, but you shouldn't feel completely lost during class either--then we recommend taking the exam.
One benefit to AP CS Principles is that you'll do a lot of the work on the Create task during class, with the input of classmates for one part of it. This means you can take your time and not feel rushed. On exam day, you'll only answer a series of multiple-choice questions, which can feel less intimidating than free-response questions.
But what if you haven't taken the AP Computer Science Principles course and want to self-study for the exam? Is that possible? If you're computer savvy and already have a solid grasp of coding, AP CS Principles can be a good AP exam to self-study for since its questions are more straightforward than those of many other AP classes. However, be aware that coding issues, especially for beginners, can be tricky to solve on your own without a teacher to walk you through the process. So if you do decide to self-study and take the AP Computer Science Principles exam, make sure you have some guidance (in-person or online) to help you through any difficulties you might encounter.
Regardless of which path you take, one of the best ways to judge how prepared you are for the AP exam is to take practice tests, which is what we go over next.
Where Are the Best AP Computer Science Principles Practice Exams?
Now you know what to expect from the AP Computer Science Principles exam, but what else can you do to prepare? Answering practice problems is the best way to really measure and improve your skills so you're confident on test day.
Choosing high-quality practice questions is key to ensuring you're practicing what you'll be seeing on the exam. Fortunately, the College Board (who designs AP exams) has official AP Computer Science Principles practice tests and questions available for you to use.
Note that the free-response section of the exam changed significantly in 2021. Before there used to be a Create task and an Explore task. Now there's just a Create task, so keep that in mind when looking through old test questions. Fortunately, the College Board currently has nine examples of Create tasks, including the video and written responses for each. These are a fantastic resource, and you should absolutely look through them to learn what your own Create task should look like. If you're looking for more sample questions and answers for the Create task, you can look through old AP questions back to 2017, but remember that exam format has been revamped since then, changing the AP Computer Science Principles Create task and eliminating the Performance task.
For multiple-choice questions, there are fewer official resources, as is the case for most AP exams. There are no official full-length multiple-choice sections available. However, in the course description for AP CS Principles, beginning on page 172, there are 18 multiple-choice AP Computer Science Principles practice questions, including each of the three question types you'll see on the exam. Additionally, Khan Academy (which has a partnership with the College Board) has over 800 practice questions on their AP Computer Science Principles free online course. Not all of these questions will match actual AP questions in terms of format and difficulty; they're more like review questions to check your knowledge. However, they're still a good way to get additional practice in.
In terms of unofficial resources, there are prep books available which each include multiple AP Computer Science Principles practice exams. You need to be more careful with unofficial resources, since they may not be a good match for the actual AP exam. Read reviews carefully before buying anything.
3 Tips for the AP Computer Science Principles Exam
Once you have your study materials in hand, follow the three tips outlined below to ace both sections of the AP Computer Science Principles exam.
#1 Start Your Create Task Early
A great thing about the AP Computer Science Principles exam is that you're able to work on one part of it--the Create task--on your own time. This can be especially beneficial for students who suffer from test anxiety, have trouble managing their time during exams, or who just appreciate a calmer, less intense pace while doing AP work. So, make use of this benefit! Definitely don't wait until the last minute to work on your AP Computer Science Principles Create task--there's just too much work involved for you to expect a decent score if you procrastinate too much.
Your teacher will likely give you some guidance on how to schedule your time (and you may complete all/most of the work in class), but be sure to budget extra time to account for unforeseen challenges. At the very least, we recommend setting a deadline a full week before the actual deadline so you can fix any problems that pop up without rushing.
#2: Get Confident With Coding
You can't do well on this exam if you don't have a good handle on coding. During the two parts of the AP test, you'll be asked to read code, analyze code, and create your own code. Knowing how to code is the best way to set yourself up for success on the AP Computer Science Principles exam.
Some students who take this course/exam are already coding experts and can handle the coding tasks on the exam easily. However, even if AP CS Principles is your first real exposure to coding, you can still do just as well on the exam, as long as you put in the time and effort to prepare. Throughout the year, keep building on your coding skills beyond just homework and what you do in class. Research coding projects you can do (a simple Google search will lead you to hundreds of ideas), and don't be afraid to work collaboratively. A simple suggestion from someone else can be enough to get you on the right track when you're stuck coding. Helping classmates with their coding for the AP Computer Science Principles Create task is a great way to build your skills, too.
#3: Keep Track of Time on Multiple-Choice
Many coders lose track of time when they dive into the nitty-gritty details of creating or updating code. This can be great for the Create part of the exam, but if you often look up from your AP Computer Science Principles work and wonder how so much time has passed, you might run into trouble on the multiple-choice section of the exam. Unlike the Create task, where you can work as long as you want as long as you submit the project by the deadline, the multiple-choice section of the AP Computer Science Principles exam has significant time pressure: you'll have exactly two hours to answer 70 questions. That gives you about 103 seconds, or a bit less than two minutes, per question.
You obviously don't need to be strictly timing yourself on every question, but if you lose track of time and spend 10 or 15 minutes on a single question, you might find it impossible to finish the section on time and lose a lot of points on questions you weren't even able to get to. Because the multiple-choice section is such a major part of your score for this exam, you definitely want to avoid this situation.
Being well-prepared and knowing what to expect (by taking AP Computer Science Principles practice exams) can help you move through questions more quickly because you're familiar with them, but, on exam day, we also recommend creating some sort of time structure for yourself. At the very least, you should check in after an hour has passed (which is the exam's halfway point). If you've answered about 35 questions by this point, you're doing well. If not, you know to pick up the pace a bit. Also, if a question really has you stumped, don't be afraid to skip it. You can always come back to it at the end if you have leftover time, and losing the chance to answer multiple questions isn't worth (potentially) getting one tricky question right.
Summary: AP Computer Science Principles Exam
The AP Computer Science Principles exam tests your knowledge of a wide variety of computer science skills and tasks. The exam has two main parts: the at-home Create task (consisting of code, a video, and written responses), and a set of 70 multiple-choice questions to be taken in a timed setting on the AP exam day. Before the format is quite different from those of many other AP tests, some students are wary of taking AP Computer Science Principles. However, as long as you make learning code a priority, stay on track with your Create task, and keep track of time during the multiple-choice section, you're in a great position to do well on the exam.
Want to learn more about colleges with great computer-related programs? Check out our guide on the 14 best IT schools in the US!
Want to show off your computer science skills? Read our article on the 11 best computer science competitions for teens and get practicing!
Looking for help studying for your AP exam?
Our one-on-one online AP tutoring services can help you prepare for your AP exams. Get matched with a top tutor who got a high score on the exam you're studying for!
Have friends who also need help with test prep? Share this article!
Christine graduated from Michigan State University with degrees in Environmental Biology and Geography and received her Master's from Duke University. In high school she scored in the 99th percentile on the SAT and was named a National Merit Finalist. She has taught English and biology in several countries.