The Exam

AP Computer Science Principles

Sign In to AP Classroom

AP Digital Portfolio user guides for teachers and students are now available

Exam Overview

The AP Computer Science Principles Exam assesses student understanding of the computational thinking practices and learning objectives outlined in the course framework. The AP Exam consists of the Create performance task and an end-of-course exam. For more information, download the AP Computer Science Principles Course and Exam Description(CED). An updated document, featuring changes to the Create performance task, was posted in fall 2023.  

Encourage your students to visit the AP Computer Science Principles student page for exam information.

Assessment Dates

Tue, Apr 30, 2024

11:59 PM ET

Performance Task Submission Deadline

This is the deadline for students to complete all required components of the Create Performance Task and submit as final in the AP Digital Portfolio.

Wed, May 15, 2024

12 PM Local

AP Computer Science Principles End-of-Course Exam

Updates to Create Performance Task

Given the implications of ChatGPT and other similar generative artificial intelligence (AI) tools on the Create performance task, changes have been made to the Create performance task for 2023-24. Review the Exam Format section below for details. 

Teacher Webinar 

A recording of the 2023-24 Create Performance Task Updates webinar is now available on the Overview page of the Course Guide section in AP Classroom, under Teacher Resources.

AP Daily Videos 

Get students to watch five AP Daily videos in AP Classroom to learn more about the Create performance task and the exam. To access these videos, students can 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. 

  • 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

Article

AP Digital Portfolio

The AP Digital Portfolio page provides instructions on how to navigate the web-based application and review the submission status of students' Create performance task.

Exam Format

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

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

Section II: Create Performance Task and Written Response
30% of score

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

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

On the end-of-course exam, students will respond to two questions related to the code in their 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). Students will have access to their Personalized Project Reference while responding to these prompts. The four categories listed below align to the four prompts. 

Prompt Category

Required Learning Objectives

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. 

Scoring Information from the 2023 Exam

Create – Sample Responses 

Scoring Information 

Scoring Commentary 

Sample A: Video
Sample A: Written Response

Sample B: Video
Sample B: Written Response

Sample C: Video
Sample C: Written Response

Sample D: Video
Sample D: Written Response

Sample E: Video
Sample E: Written Response

Sample F: Video
Sample F: Written Response

Sample G: Video
Sample G: Written Response

Sample H: Video
Sample H: Written Response

Sample I: Video
Sample I: Written Response

Sample J: Video
Sample J: Written Response

Scoring Guidelines

Chief Reader Report

Score Distributions

Create: Scoring Commentary

Past Exam Questions and Scoring Information

Article

AP Computer Science Principles Past Exam Questions

View student samples and scoring information from past years.

Score Reporting