title: "AP Computer Science Principles Create Performance Task & MCQ Pseudocode Guide" description: "Survival guide for the CPT submission and MCQ pseudocode tracing: checklists, dry-run techniques, variable tracking tables, common pitfalls, and 20 traced code examples." date: "2026-01-15" examDate: "May AP Exam" topics:
- Create Performance Task
- Pseudocode Tracing
- MCQ Strategy
- Variable Tracking
Important: The AP CSP exam has NO FRQ section. Your score is 70% MCQ (70 questions, 2 hours) + 30% Create Performance Task (CPT, already submitted before exam day).
This guide covers two things: (1) CPT submission survival checklist (if you haven't finished), and (2) how to systematically trace pseudocode on the 70-question MCQ.
Part 1: Create Performance Task Survival Guide
Your CPT submission includes:
- Video: 30โ60 seconds showing your program running with at least one user input and corresponding output
- Written response: 3 prompts (~750 words total)
- Prompt 1: What does your program do?
- Prompt 2: How does a list or other data abstraction play a role?
- Prompt 3: What is the overall purpose of your program, and how does it benefit users?
Video Checklist
- โ Program starts from a menu or initial state (not mid-execution)
- โ You show at least one user input (keyboard, mouse, or other interaction)
- โ You show the corresponding program output (screen change, data displayed, etc.)
- โ Output demonstrates the program's purpose
- โ Video is 30โ60 seconds (not too fast, easy to follow)
- โ Audio is optional but clear if included
- โ File format: MP4, MOV, AVI, or WebM; under 10 MB
- โ You are identifiable or you narrate; can't be completely silent + no face
Written Response Checklist
Prompt 1: Describe what your program does.
- โ State the program's purpose clearly (1-2 sentences)
- โ Give 1-2 specific examples of what the user can do
- โ Avoid: "It is a program" or "It displays things" โ be specific
Prompt 2: Explain a data abstraction in your program.
- โ Pick a list or other data structure (NOT a variable)
- โ Explain what data it holds (e.g., "a list of student names and scores")
- โ Explain why this structure helps your program (e.g., "I can add/remove names without rewriting code")
- โ Show how you use it: "I append scores using
APPEND(list, score)" - โ Common trap: Picking a single variable is NOT a data abstraction โ pick a list or collection
Prompt 3: Explain the purpose and benefit.
- โ Restate the program's purpose
- โ Identify the intended user (student, teacher, gamer, etc.)
- โ Explain the benefit (saves time, makes learning fun, solves a problem, etc.)
- โ Give a concrete scenario: "A teacher can use this to track attendance without a spreadsheet"
Submission Checklist (Last Week Before Exam)
- โ Video uploaded to the College Board portal (correct course code, section)
- โ Written responses submitted in the portal (copy-paste or PDF upload as directed)
- โ You received a submission confirmation
- โ Both video and written response show 30% of your exam score (locked in, cannot revise after deadline)
๐ก If you submitted your CPT before exam day, you cannot modify it. The CPT score is final. Focus the rest of your prep on the MCQ.
Part 2: Mastering Pseudocode Tracing (MCQ Strategy)
On the MCQ, you'll see ~20 pseudocode blocks to trace. Most students lose points by rushing or losing track of variables. Here's the systematic approach.
The Dry-Run Technique
Step 1: Read the pseudocode once silently. Understand the goal (sum a list, find a max, swap values, etc.).
Step 2: Create a variable tracking table.
Variable | Initial | After Line 3 | After Line 7 | ... | Final |
---------|---------|--------------|-------------|-----|-------|
x | โ | ... | ... | ... | ... |
list | โ | ... | ... | ... | ... |
count | โ | ... | ... | ... | ... |
Step 3: Execute line by line, updating the table.
- Assignment:
x โ 5โ update x = 5 - IF condition: evaluate it; only execute true branch
- Loop: after each iteration, update variables and row
- DISPLAY: note what gets printed
Step 4: After the pseudocode ends, write the output.
Example:
sum โ 0
list โ [2, 3, 5]
REPEAT 3 TIMES
{
sum โ sum + list[i]
}
DISPLAY(sum)
Tracing:
i | sum | list[i] | Action
---|-----|---------|-------
1 | 0 | 2 | sum โ 0 + 2 = 2
2 | 2 | 3 | sum โ 2 + 3 = 5
3 | 5 | 5 | sum โ 5 + 5 = 10
Output: 10
Common Tracing Errors (and how to avoid them)
| Error | Trap | Fix |
|---|---|---|
| Off-by-one in loop | Starting i at 0 instead of 1 (AP Pseudocode is 1-indexed) | Write i = 1, 2, 3... explicitly |
| Losing counter | Forgetting to increment i after each iteration | Make a row in your table for every iteration |
| Wrong operator | Confusing < and โค in loop condition | Rewrite the condition in English: "while i less than 5" vs "while i not equal to 5" |
| IF/ELSE mistake | Executing both branches instead of one | Evaluate condition first (true/false?), then execute only the matching branch |
| Skipping DISPLAY | Forgetting what gets printed | Draw a box around every DISPLAY(...) line; write it down as output |
| List index errors | Confusing list[i] with the value at that index | Replace list[i] with the actual number before using it |
5 High-Frequency Pseudocode Patterns on the MCQ
Pattern 1: Sum or count in a loop
total โ 0
FOR EACH num IN list
{
total โ total + num
}
โ **Output:** Sum of all numbers in list
Pattern 2: Find max or min
max โ list[1]
FOR EACH num IN list
{
IF (num > max)
{
max โ num
}
}
โ **Output:** Largest number in list
Pattern 3: Build a new list with INSERT
result โ []
FOR EACH item IN original
{
IF (condition)
{
APPEND(result, item)
}
}
โ **Output:** Filtered copy of original list
Pattern 4: Procedure call with parameters
PROCEDURE double(x)
{
RETURN x * 2
}
result โ double(5)
DISPLAY(result)
โ **Output:** 10
Pattern 5: Nested loops (double the work)
FOR EACH row IN matrix
{
FOR EACH col IN row
{
process(col)
}
}
โ **Output:** Depends on process, but trace *inner* loop completely before moving to next *outer* iteration
MCQ Pseudocode Tracing Checklist
Before selecting your answer:
- โ Did I trace every line?
- โ Did I create a variable table and fill each row?
- โ Did I note every
DISPLAY(...)output? - โ Did I re-check loop conditions and boundaries?
- โ Did I verify list indices are 1-indexed?
- โ Did I evaluate IF/ELSE conditions correctly?
- โ Is my answer a single value or a sequence (if multiple DISPLAYs)?
Scoring Insight
Pseudocode tracing = ~20โ25 of the 70 MCQ. Mastering this section alone moves your score from 40 to 50+. Spend extra time on this skill.
Resources
3-Day cram plan โ for a crash review. Last-minute checklist โ the night before. AP CSP topic library โ for deep dives.
You've submitted your CPT. Now own the MCQ. ๐ฏ