AP Computer Science Principles

Learn all about the course and exam. Already enrolled? Join your class in My AP.

Not a Student?

Go to AP Central for resources for teachers, administrators, and coordinators.

About the Exam

The AP Computer Science Principles Exam has two sections: an end-of-course exam and the Create performance task. The end-of-course exam includes multiple-choice questions and two questions that require you to write responses that demonstrate your understanding of the Create performance task. The two written-response questions will relate to code contained in a Personalized Project Reference that you will develop in class. You will have access to your Personalized Project Reference while answering these questions.

You will complete the Create performance task over the course of the year and submit all three performance task components online through the AP Digital Portfolio for scoring. Both measure your proficiency in and grasp of the course practices and content, and both contribute to your final AP score on a scale of 1–5.


Updates to Create Performance Task

Given the implications of ChatGPT and other similar generative artificial intelligence (AI) tools on the Create performance task components, we’ve made some updates to the Create performance task in 2023-24. Review the Exam Components section below for details..

To learn more about the Create performance task and the exam, you can watch five AP Daily videos on the Create Performance task in AP Classroom. To access these videos, navigate to the Course Guide section in the left navigation pane of the AP Classroom homepage, select the Overview page, and then click on the Student Resources header to expand the list of available resources. The Create performance task videos include:

  • Create Performance Task: Overview
  • Create Performance Task: Categories and Questions
  • Create Performance Task: Guidelines
  • Create Performance Task: Pacing Your Project
  • Create Performance Task: Scoring Guidelines and Sample Written Response Answers

Exam Dates

APRIL 30, 2024, 11:59 PM ET

AP Computer Science Principles Create Performance Task Due Date

You must submit all three components of the AP Computer Science Principles Create performance task as final via the AP Digital Portfolio by this time.

WED, MAY 15, 2024 12 PM LOCAL

AP Computer Science Principles Exam

This is the regularly scheduled date for the AP Computer Science Principles Exam.

Exam Components

Section I: End-of-Course Multiple-Choice Exam

70 multiple-choice questions | 120 minutes | 70% of score | 4 answer options

  • 57 single-select multiple-choice 
  • 5 single-select with reading passage about a computing innovation 
  • 8 multiple-select multiple-choice: select 2 answers 

 

The AP Computer Science Principles end-of-course exam has consistent question types, weighting, and scoring guidelines every year, so you know what to expect on exam day.  

Section II: Create Performance Task

30% of score

  • Create performance task program code, video, and student-authored Personalized Project Reference | 9 hours in-class
  • 2 written response questions | 60 minutes end-of-course exam 

The second section of the AP Computer Science Principles Exam consists of a through-course Create performance task where you will develop a computer program of your choice an end-of-course written response section where you will demonstrate your understanding of your Create performance task by answering four prompts. You will be provided 9 hours of in-class time to complete your program, video, and develop a Personalized Project Reference.  

On the end-of-course exam, you will respond to two questions related to the code in your Personalized Project Reference. The two questions include four distinct prompts: Written Response 1, Written Response 2(a), Written Response 2(b), and Written Response 2(c). You will have access to your Personalized Project Reference while responding to these prompts. The four categories listed below align to the four prompts.

 

Prompt Category Students should be prepared to: 

Written Response 1: Program Design, Function, and Purpose 

 

Students should be prepared to respond to prompts about their program that assess any of the following learning objectives:  

  • CRD-2.A: Describe the purpose of a computing innovation.  
  • CRD-2.B: Explain how a program or code segment functions.  
  • CRD-2.C: Identify input(s) to a program. 
  • CRD-2.D: Identify output(s) produced by a program. 
  • CRD-2.E: Develop a program using a development process. 
  • CRD-2.F: Design a program and its user interface. 
  • CRD-2.G: Describe the purpose of a code segment or program by writing documentation. 

Written Response 2(a): Algorithm Development  

 

Students should be prepared to respond to prompts about their program that assess any of the following learning objectives:  

  • CRD-2.B: Explain how a program or code segment functions. 
  • AAP-2.E.b: Evaluate expressions that use relational operators. 
  • AAP-2.F.b: Evaluate expressions that use logic operators. 
  • AAP-2.H.b: Determine the result of conditional statements. 
  • AAP-2.J: Express an algorithm that uses iteration without using a programming language. 
  • AAP-2.K.b: Determine the result or side effect of iteration statements. 
  • AAP-2.L: Compare multiple algorithms to determine if they yield the same side effect or result. 
  • AAP-2.M.a: Create algorithms. 
  • AAP-2.M.b: Combine and modify existing algorithms.

Written Response 2(b): Errors and Testing

 

Students should be prepared to respond to prompts about their program that assess any of the following learning objectives:  

  • CRD-2.I.a: Identify the error. 
  • CRD-2.I.b: Correct the error. 
  • CRD-2.J: 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

 

Students should be prepared to respond to prompts about their program that assess any of the following learning objectives:  

  • AAP-1.D.a: Develop data abstraction using lists to store multiple elements.  
  • AAP-1.D.b: Explain how the use of data abstraction manages complexity in program code.  
  • AAP-2.O.a: Write iteration statements to traverse a list. 
  • AAP-2.O.b: Determine the result of an algorithm that includes list traversals.  
  • AAP-3.B: Explain how the use of procedural abstraction manages complexity in a program. 

How We Score Your Work

The Create performance task, like the end-of-course exam given in May, is scored by trained, experienced educators called AP Readers.

Exam Preparation

Credit and Placement

Search AP Credit Policies

Find colleges that grant credit and/or placement for AP Exam scores in this and other AP courses.