
8.2. About the AP CS Principles Exam¶
The AP Computer Science Principles exam questions assess both the application of the computational thinking practices and an understanding of the big ideas. Exam questions may assess achievement of multiple learning objectives. They may also address content from more than one essential knowledge statement. Exam questions may be accompanied by non-textual stimulus material such as diagrams, charts, or other graphical illustrations.
The AP Computer Science Principles Exam:
- 70 multiple-choice questions (120 minutes (2 hours) long, 70% of your grade):
- 57 single-select multiple-choice
- 5 single-select with reading passage about a computing innovation
- 8 multiple-select multiple-choice: select 2 answers
- As of 2024, there are 4 written response question prompts for an additional 60 minutes on the exam using the Create Personalized Project Reference created during the Create Task. Along with your Create video and Program Code (10%), this portion is worth 30% of the exam.
The following table shows what percentage of questions are in each of the Big Ideas in CSP:
Reference Sheet:
The AP CS Principles Exam does not have a designated programming language associated with it. Therefore, a reference sheet is provided to give instructions and explanations to help you understand the format and the meaning of the questions on the exam. The reference sheet can be seen below. It includes two programming formats: text-based and block-based. Be sure to review the reference sheet ahead of time and be familiar with the material that it has on it. The next lesson reviews AP pseudocode and compares it to App Inventor Blocks.
Learning Objectives
As described in the AP CSP Guide, here are the learning objectives covered in the AP CSP exam:
- Learning Objective CRD-1.A: Explain how computing innovations are improved through collaboration.
- Learning Objective CRD-1.B: Explain how computing innovations are developed by groups of people.
- Learning Objective CRD-1.C: Demonstrate effective interpersonal skills during collaboration.
- Learning Objective CRD-2.A: Describe the purpose of a computing innovation.
- Learning Objective CRD-2.B: Explain how a program or code segment functions.
- Learning Objective CRD-2.C: Identify input(s) to a program.
- Learning Objective CRD-2.D: Identify output(s) produced by a program.
- Learning Objective CRD-2.E: Develop a program using a development process.
- Learning Objective CRD-2.F: Design a program and its user interface.
- Learning Objective CRD-2.G: Describe the purpose of a code segment or program by writing documentation.
- Learning Objective CRD-2.H: Acknowledge code segments used from other sources.
- Learning Objective CRD-2.I.a: For errors in an algorithm or program: a. Identify the error.
- Learning Objective CRD-2.I.b: For errors in an algorithm or program: b. Correct the error.
- Learning Objective CRD-2.J: Identify inputs and corresponding expected outputs or behaviors that can be used to check the correctness of an algorithm or program.
- Learning Objective DAT-1.A: Explain how data can be represented using bits.
- Learning Objective DAT-1.B: Explain the consequences of using bits to represent data.
- Learning Objective DAT-1.C.a: For binary numbers: a. Calculate the binary (base 2) equivalent of a positive integer (base 10) and vice versa.
- Learning Objective DAT-1.C.b: For binary numbers: b. Compare and order binary numbers.
- Learning Objective DAT-1.D: Compare data compression algorithms to determine which is best in a particular context.
- Learning Objective DAT-2.A: Describe what information can be extracted from data.
- Learning Objective DAT-2.B: Describe what information can be extracted from metadata.
- Learning Objective DAT-2.C: Identify the challenges associated with processing data.
- Learning Objective DAT-2.D: Extract information from data using a program.
- Learning Objective DAT-2.E: Explain how programs can be used to gain insight and knowledge from data.
- Learning Objective AAP-1.A: Represent a value with a variable.
- Learning Objective AAP-1.B: Determine the value of a variable as a result of an assignment.
- Learning Objective AAP-1.C: Represent a list or string using a variable.
- Learning Objective AAP-1.D.a: For data abstraction: a. Develop data abstraction using lists to store multiple elements.
- Learning Objective AAP-1.D.b: For data abstraction: b. Explain how the use of data abstraction manages complexity in program code.
- Learning Objective AAP-2.A: Express an algorithm that uses sequencing without using a programming language.
- Learning Objective AAP-2.B: Represent a step-by-step algorithmic process using sequential code statements.
- Learning Objective AAP-2.C: Evaluate expressions that use arithmetic operators.
- Learning Objective AAP-2.D: Evaluate expressions that manipulate strings.
- Learning Objective AAP-2.E.a: For relationships between two variables, expressions, or values: a. Write expressions using relational operators.
- Learning Objective AAP-2.E.b: For relationships between two variables, expressions, or values: b. Evaluate expressions that use relational operators.
- Learning Objective AAP-2.F.a: For relationships between Boolean values: a. Write expressions using logical operators.
- Learning Objective AAP-2.F.b: For relationships between Boolean values: b. Evaluate expressions that use logic operators.
- Learning Objective AAP-2.G: Express an algorithm that uses selection without using a programming language.
- Learning Objective AAP-2.H.a: For selection: a. Write conditional statements.
- Learning Objective AAP-2.H.b: For selection: b. Determine the result of conditional statements.
- Learning Objective AAP-2.I.a: For nested selection: a. Write nested conditional statements.
- Learning Objective AAP-2.I.b: For nested selection: b. Determine the result of nested conditional statements.
- Learning Objective AAP-2.J: Express an algorithm that uses iteration without using a programming language.
- Learning Objective AAP-2.K.a: For iteration: a. Write iteration statements.
- Learning Objective AAP-2.K.b: For iteration: b. Determine the result or side-effect of iteration statements.
- Learning Objective AAP-2.L: Compare multiple algorithms to determine if they yield the same side effect or result.
- Learning Objective AAP-2.M.a: For algorithms: a. Create algorithms.
- Learning Objective AAP-2.M.b: For algorithms: b. Combine and modify existing algorithms.
- Learning Objective AAP-2.N.a: For list operations: a. Write expressions that use list indexing and list procedures.
- Learning Objective AAP-2.N.b: For list operations: b. Evaluate expressions that use list indexing and list procedures.
- Learning Objective AAP-2.O.a: For algorithms involving elements of a list: a. Write iteration statements to traverse a list.
- Learning Objective AAP-2.O.b: For algorithms involving elements of a list: b. Determine the result of an algorithm that includes list traversals.
- Learning Objective AAP-2.P.a: For binary search algorithms: a. Determine the number of iterations required to find a value in a data set.
- Learning Objective AAP-2.P.b: For binary search algorithms: b. Explain the requirements necessary to complete a binary search.
- Learning Objective AAP-3.A.a: For procedure calls: a. Write statements to call procedures.
- Learning Objective AAP-3.A.b: For procedure calls: b. Determine the result or effect of a procedure call.
- Learning Objective AAP-3.B: Explain how the use of procedural abstraction manages complexity in a program.
- Learning Objective AAP-3.C: Develop procedural abstractions to manage complexity in a program by writing procedures.
- Learning Objective AAP-3.D: Select appropriate libraries or existing code segments to use in creating new programs.
- Learning Objective AAP-3.E.a: For generating random values: a. Write expressions to generate possible values.
- Learning Objective AAP-3.E.b: For generating random values: b. Evaluate expressions to determine the possible results.
- Learning Objective AAP-3.F.a: For simulations: a. Explain how computers can be used to represent real-world phenomena or outcomes.
- Learning Objective AAP-3.F.b: For simulations: b. Compare simulations with real-world contexts.
- Learning Objective AAP-4.A.a: For determining the efficiency of an algorithm: a. Explain the difference between algorithms that run in reasonable time and those that do not.
- Learning Objective AAP-4.A.b: For determining the efficiency of an algorithm: b. Identify situations where a heuristic solution may be more appropriate.
- Learning Objective AAP-4.B: Explain the existence of undecidable problems in computer science.
- Learning Objective CSN-1.A: Explain how computing devices work together in a network.
- Learning Objective CSN-1.B: Explain how the Internet works.
- Learning Objective CSN-1.C: Explain how data are sent through the Internet via packets.
- Learning Objective CSN-1.D: Describe the differences between the Internet and the World Wide Web.
- Learning Objective CSN-1.E.a: For fault-tolerant systems, like the Internet: a. Describe the benefits of fault tolerance.
- Learning Objective CSN-1.E.b: For fault-tolerant systems, like the Internet: b. Explain how a given system is fault-tolerant.
- Learning Objective CSN-2.A.a: For sequential, parallel, and distributed computing: a. Compare problem solutions.
- Learning Objective CSN-2.A.b: For sequential, parallel, and distributed computing: b. Determine the efficiency of solutions.
- Learning Objective CSN-2.B: Describe benefits and challenges of parallel and distributed computing.
- Learning Objective IOC-1.A: Explain how an effect of a computing innovation can be both beneficial and harmful.
- Learning Objective IOC-1.B: Explain how a computing innovation can have an impact beyond its intended purpose.
- Learning Objective IOC-1.C: Describe issues that contribute to the digital divide.
- Learning Objective IOC-1.D: Explain how bias exists in computing innovations.
- Learning Objective IOC-1.E: Explain how people participate in problem-solving processes at scale.
- Learning Objective IOC-1.F: Explain how the use of computing can raise legal and ethical concerns.
- Learning Objective IOC-2.A: Describe the risks to privacy from collecting and storing personal data on a computer system.
- Learning Objective IOC-2.B: Explain how computing resources can be protected and can be misused.
- Learning Objective IOC-2.C: Explain how unauthorized access to computing resources is gained.
8.2.1. Summary¶
In this lesson, you learned about the distribution of questions in the AP CSP Exam.