Computer Science Principles
CPT Preparation Guide
CPT Quest
Level Up Your Create Performance Task
Turn CPT requirements into structured challenges. Complete each section and learn to explain your code with confidence.
Learning Objectives
- Understand the required components of a CPT project, including input, output, lists, procedures, and algorithms.
- Learn to keep a CPT project simple to make it easier to build, debug, and explain.
- Explore different project ideas that can be used for a CPT submission.
- Understand the types of exam questions about the CPT and how to answer them.
CPT Requirements Overview
The Create Performance Task (CPT) requires you to build a program and explain how it works.
Your program MUST include:
- Input: user interaction (typing, clicking, etc.)
- Output: result displayed to the user
- List: used to store multiple related pieces of data
- Procedure: a function with at least one parameter(variable that receives input)
- Algorithm: must include sequencing, selection (if), and iteration (loop)
Key idea: You are graded on whether these parts are clearly shown and explained.
CPT Quest Resource
A quest to assist students in APCSP to build their CPT Project.
Ideas and Inspirations for CPT
The best CPT projects are simple and easy to explain. You do NOT need a complex app.
- Search tools (like a club finder)
- Quiz or trivia apps
- Recommendation systems
- Simple games with choices
Why simple is better:
- Easier to debug
- Easier to explain on the exam
- Clearly shows required components
Example CPT: School Club Finder
This example program allows a user to type a club name and find its meeting location and time.
How it meets CPT requirements:
- Input: user types a club name
- Output: displays meeting info or "not found"
- List: stores club names and details
- Procedure:
findClub(typedName) - Algorithm: loop through list + if statement to match input
CPT Skills You Must Know
- Sequencing: code runs step-by-step
- Selection: if statements make decisions
- Iteration: loops repeat through data
- Boolean Expressions: true/false checks (ex:
typedName == clubNames[i])
These skills are required both in your code and in your exam explanations.
How to Answer CPT Exam Questions
On the exam, you will explain your program using your code.
Example explanation:
The program uses a loop to go through each item in the list.
The if statement checks if the user input matches a value.
If it matches, the program outputs the corresponding result.
If no match is found, it displays a "not found" message.
Important: Do not copy code — explain what it does.
Practice: Trace the Program
If the user enters "Chess Club", what will the program output?
- Step 1: Loop starts at index 0
- Step 2: Compare input to list value
- Step 3: Match found → output meeting info
CPT College Board FRQ 1
Question: Explain how the list is used in the program.
Answer:
The program uses a loop to go through each element in the list.
For each index, it compares the user input to the stored value.
If a match is found, it uses the same index to access the corresponding detail and display it.