As you prepare for the AP Computer Science Principles (AP CSP) exam, think of the main topics the AP CSP course aims to teach you. Use these learning outcomes as a guiding star as you study for the exam.
The major areas of study - or big ideas - for the AP CSP course are the following:
Besides the areas of study, the AP Computer Science course aims to help students develop certain computational thinking practices:
The exam is split into two different sections:
The multiple-choice section is computer-graded, and it makes up 70% of your total exam score. This section includes 70 questions in total, distributed as follows:
The performance task can be broken down into the following components:
As mentioned above, the performance task section includes a developing a computer program throughout the course (9 hours of class time, outside of test time) and recording it running. It also involves a Personalized Project Reference, where specific segments and lists of the program are captured in screenshots. This is all done before the exam day.
On the exam day, you’ll answer four prompts related to your computer program.
Section | Duration | Structure | Score Weighting |
---|---|---|---|
Multiple Choice Section | 120 minutes | - 57 single-select multiple-choice - 5 single-select with reading passage about a computing innovation - 8 multiple-select multiple-choice where two answers need to be chosen | 70% |
Performance Task Section | 60 minutes on exam day (9 hours in class) | - Program code: Developing a computer program - Video: recording a video of your program running - Personalized Project Reference: contains screen captures of your lists and procedures - Written response questions: answer two written questions - including four different prompts - to demonstrate your understanding of your personal task. | 30% (10% performance task, 20% questions) |
The AP CSP Exam is 3 hours long. Keep in mind that part of the exam involves developing your own program beforehand - a task you get 9 hours of class time for.
Your total score is scaled down to be a number from 1 to 5, similar to a letter grade.
AP CSP Exam Score | Qualification | Closest Equivalent College Grade |
---|---|---|
5 | Extremely well qualified | A+ or A |
4 | Very well qualified | A-, B+, or B |
3 | Qualified | B-, C+, or C |
2 | Possibly qualified | - |
1 | No recommendation | - |
To increase your chances of getting credit at a top university, you’ll need a score of 4 or 5 - that’s the score most schools accept to grant college credit.
The multiple choice section is graded by a computer - you’ll get a point as long as you choose the answer correctly.
On the other hand, the performance task section is graded based on specific learning objectives:
Prompt | Assessed Learning Objective |
---|---|
Written Response 1: Program Design, Function, and Purpose | - Describe the purpose of a computing innovation. - Explain how a program or code segment functions. - Identify input(s) to a program. - Identify output(s) produced by a program. - Develop a program using a development process. - Design a program and its user interface. - Describe the purpose of a code segment or program by writing documentation. |
Written Response 2(a): Algorithm Development | CRD-2.B: Explain how a program or code segment functions. - Evaluate expressions that use relational operators. - Evaluate expressions that use logic operators. - Determine the result of conditional statements. - Express an algorithm that uses iteration without using a programming language. - Determine the result or side effect of iteration statements. - Compare multiple algorithms to determine if they yield the same side effect or result. - Create algorithms. - Combine and modify existing algorithms. |
Written Response 2(b): Errors and Testing | - Identify the error. - Correct the error. - Identify inputs and corresponding expected outputs or behaviors that can be used to check the correctness of an algorithm or program. |
Written Response 2(c): Data and Procedural Abstraction | - Develop data abstraction using lists to store multiple elements. - Explain how the use of data abstraction manages complexity in program code. - Write iteration statements to traverse a list. - Determine the result of an algorithm that includes list traversals. - Explain how the use of procedural abstraction manages complexity in a program. |
Start strong by diving into past AP CSP exams. Familiarize yourself with the types of questions, the format, and the level of complexity.
Reference sheets are your allies, so make them your best friends. Understand how to navigate and leverage them effectively during the exam. Past exams are like treasure maps – they guide you through the terrain you'll be exploring on test day.
The performance tasks are where you get to shine, and the key to acing them is in the details.
Read the detailed guide for completing your performance task thoroughly. Understand the requirements, constraints, and what the evaluators are looking for. This guide is your roadmap to navigating the intricacies of the performance tasks with confidence.
Review the tip sheet for insights on how to optimize your personalized project reference. It's not just about having information; it's about knowing how to strategically use it to enhance your written questions for the AP CSP exam.
Learn from the pros by studying sample videos and written responses. These resources provide real-world examples of successful performance tasks.
Observe how these samples approach problems, structure their responses, and showcase their understanding of the big ideas. Consider them a virtual mentor to guide you through the nuances of the exam.
As mentioned above, the AP CSP exam is scored in very specific ways, and every question aims to assess your understanding of a specific learning outcome.
Understand them inside out. Know how points are awarded, what the evaluators are looking for, and how to maximize your scoring potential. The scoring guidelines provide clarity on the expectations, helping you tailor your responses to meet the criteria for success.
The devil is in the details, especially when it comes to task terminology. Make sure you fully grasp the language used in the exam’s tasks. Understand the verbs and prompts, and know what each task is asking of you.
This clarity is crucial for delivering responses that directly address the requirements. Here are some of the commonly used terms on the AP CSP exam:
Term | Meaning |
---|---|
Output | Program output is any data that are sent from a program to a device. Program output can come in a variety of forms, such as tactile, audible, visual, movement, or text. |
Selection | Selection determines which parts of an algorithm are executed based on a condition being true or false. The use of try / exception statements is a form of selection statements. |
Sequencing | The application of each step of an algorithm in the order in which the code statements are given. |
Procedure | A procedure is a named group of programming instructions that may have parameters and return values. Procedures are referred to by different names, such as method, function, or constructor, depending on the programming language. |
Parameter: | A parameter is an input variable of a procedure. Explicit parameters are defined in the procedure header. Implicit parameters are those that are assigned in anticipation of a call to the procedure. For example, an implicit parameter can be set through interaction with a graphical user interface. |
Algorithm | An algorithm is a finite set of instructions that accomplish a specific task. Every algorithm can be constructed using combinations of sequencing, selection, and iteration. |
List being used | Using a list means the program is creating new data from existing data or accessing multiple elements in the list. |
Input | Program input is data that are sent to a computer for processing by a program. Input can come in a variety of forms, such as tactile (through touch), audible, visual, or text. An event is associated with an action and supplies input data to a program. |
Program functionality | The behavior of a program during execution, often described by how a user interacts with it. |
Data has been stored in this list | Input into the list can be through an initialization or through some computation on other variables or list elements. |
Purpose | The problem being solved or creative interest being pursued through the program. |
Program code segment | A code segment refers to a collection of program statements that are part of a program. For text-based, the collection of program statements should be continuous and within the same procedure. For block-based, the collection of program statements should be contained in the same starter block or what is referred to as a “Hat” block. |
Collection type | Aggregates elements in a single structure. Some examples include: databases, hash tables, dictionaries, sets, or any other type that aggregates elements in a single structure. |
Student-developed procedure / algorithm | Program code that is student developed has been written (individually or collaboratively) by the student who submitted the response. Calls to existing program code or libraries can be included but are not considered student developed. Event handlers are built-in abstractions in some languages and will therefore not be considered student-developed. In some block-based programming languages, event handlers begin with “when”. |
List | A list is an ordered sequence of elements. The use of lists allows multiple related items to be represented using a single variable. Lists are referred to by different terms, such as arrays or arraylists, depending on the programming language. |
Tutors can provide personalized assistance, offer targeted feedback, and help you navigate challenging topics. It's like having a dedicated coach in your corner, ensuring you're fully prepared for whatever the exam throws at you.
What Makes Crimson Different