AP CSP Create Performance Task Guide

Your complete step-by-step roadmap from idea to submission. Plan, code, test, and write with confidence.

πŸ‘‹ Who This Guide Is For Students preparing their AP CSP Create Performance Task who need structured guidance for planning, coding, testing, and writing responses. Teachers will also find the checklist and examples helpful for coaching.

πŸ“¦ What You Will Produce

  • βœ… A working program with clear purpose
  • βœ… Video demo showing input/output (typically ~1 minute)
  • βœ… Written responses explaining code, algorithm, and abstraction
  • βœ… Testing evidence with documented test cases
  • βœ… Properly acknowledged sources

The development process follows: \( \text{Plan} \rightarrow \text{Design} \rightarrow \text{Build} \rightarrow \text{Test} \rightarrow \text{Document} \)

πŸ“Š Your Progress

0%

Step 1: Choose Your Idea & Purpose

Your program must have a clear purpose and solve a problem or provide value to a user.

🎯 Questions to Answer

  • What problem does my program solve?
  • Who is the intended user?
  • What will users be able to do that they couldn't before?
  • Is this achievable in the time I have?
πŸ’‘ Tip: Keep It Simple A well-executed simple program beats an ambitious broken one. Focus on core functionality first.

βœ… Step 1 Checklist

  • I have a clear program idea
  • I can state the purpose in one sentence
  • I know who my target user is
  • The scope is realistic for my timeline

Step 2: Plan Inputs, Outputs & User Interaction

Define how users interact with your program. Remember: \( f(\text{input}, \text{state}) \rightarrow \text{output} \)

πŸ“₯ Input Examples

  • Text entered in fields (names, numbers, responses)
  • Button clicks or menu selections
  • File uploads or data from sensors

πŸ“€ Output Examples

  • Calculated results displayed on screen
  • Sorted/filtered lists
  • Generated text, graphics, or sounds
πŸ” Teacher Insight Reviewers look for a clear connection between input and output. Your written response must explain HOW input affects output.

βœ… Step 2 Checklist

  • I identified at least one form of user input
  • I identified the program's output(s)
  • I can explain how input affects output
  • User interaction is intuitive

Step 3: Design Requirements & Decomposition

Break your program into smaller, manageable parts before coding.

πŸ“‹ Requirements List

Write down WHAT your program must do:

  • Must accept [specific input]
  • Must store data in a list
  • Must process data using [algorithm]
  • Must display [specific output]

🧩 Decomposition

Identify the procedures/functions you'll need:

  • Input handler – gets data from user
  • Processing procedure – your algorithm (must include sequencing, selection, iteration)
  • Output display – shows results to user
βœ… Your Main Procedure Must Include:
  • A clear name
  • At least one parameter
  • Sequencing (step-by-step instructions)
  • Selection (if/else decisions)
  • Iteration (a loop)

βœ… Step 3 Checklist

  • I wrote a requirements list
  • I identified my main procedure
  • My procedure has a parameter
  • Algorithm includes sequence + selection + iteration
  • I know what data my list will store

Step 4: Build Iteratively (Incremental Development)

Don't code everything at once! Follow: \( \text{Build} \rightarrow \text{Test} \rightarrow \text{Revise} \)

πŸ”¨ Incremental Strategy

  1. Start with core input/output – Get basic interaction working
  2. Add your list – Store and retrieve data
  3. Implement main procedure – Build your algorithm step by step
  4. Add remaining features – Polish and enhance
πŸ’‘ Version Control Tip Save versions as you go (v1, v2, v3...). If something breaks, you can go back. Online tools like GitHub or even renaming files works.

πŸ“ Code While You Build

  • Write comments explaining what each section does
  • Use clear, descriptive variable names
  • Test after adding each feature

βœ… Step 4 Checklist

  • Basic input/output works
  • List is implemented and used meaningfully
  • Main procedure is complete with parameter
  • Procedure includes sequence + selection + iteration
  • Code is commented
  • I saved backup versions

Step 5: Test & Debug (Evidence)

Systematic testing catches errors and provides evidence for your write-up.

πŸ§ͺ Create Test Cases

Test Type Example
Typical input Age: 25, Score: 85
Minimum boundary Age: 0, Score: 0
Maximum boundary Age: 120, Score: 100
Just beyond min Age: -1 (invalid)
Just beyond max Age: 121 (invalid)

πŸ› Debugging Methods

  • Print statements – Output variable values at key points
  • Hand tracing – Step through code on paper with sample inputs
  • Debugger tools – Use breakpoints to inspect state
  • Isolate the problem – Comment out sections to find the bug
πŸ” What Reviewers Look For Evidence that you tested your program with multiple inputs and can describe the results. Document at least 2-3 test cases.

βœ… Step 5 Checklist

  • Tested with typical inputs
  • Tested boundary cases (min/max)
  • Tested edge cases beyond boundaries
  • Fixed syntax errors (program runs)
  • Fixed logic errors (output is correct)
  • Documented test results

Step 6: Document & Acknowledge Sources

Proper documentation makes your code understandable and credits others appropriately.

πŸ’¬ What to Comment

  • What each major section or function does
  • Why you made key design decisions
  • Any complex algorithms explained simply
  • What parameters mean and return values represent

πŸ“š Acknowledging Sources

If you used any code from:

  • Online tutorials
  • Stack Overflow or forums
  • Classmates or teachers
  • Libraries or frameworks

You MUST acknowledge the source – include origin, author if known, and what you used.

βœ… Your Own Work Your student-developed procedure (the algorithm you're asked about) must be written by YOU. You can get help debugging, but the logic must be yours.

βœ… Step 6 Checklist

  • Code has comments explaining key parts
  • All external code is acknowledged
  • My main procedure is my original work
  • Variable/function names are descriptive

Step 7: Write the Responses

Your written responses explain your program clearly and demonstrate understanding.

πŸ“ Typical Response Areas

  • Purpose – What does your program do and for whom?
  • Input/Output – What input does it take? What output does it produce?
  • List Usage – What data does your list store? How is it used?
  • Procedure/Algorithm – What does your procedure do? Explain the algorithm step by step.
  • Abstraction – How does your procedure help manage complexity?
  • Testing – What inputs did you test? What were the results?
πŸ’‘ Writing Tips
  • Be specific, not vague
  • Use the actual names of your variables/functions
  • Explain the WHAT and HOW, not just that it works
  • Keep sentences clear and direct

πŸ› οΈ Draft Write-Up Template Builder

βœ… Step 7 Checklist

  • Purpose is clearly stated
  • Input and output are explained
  • List usage is described
  • Algorithm is explained step by step
  • Abstraction/procedure purpose is explained
  • Testing evidence is documented

Step 8: Final Submission Checklist

Before submitting, verify everything is complete and correct.

πŸ“Ή Video Checklist

  • Video shows program receiving input
  • Video shows program running
  • Video shows output being produced
  • Video is within typical length guidelines
  • No audio/narration required (typically)

πŸ’» Code Checklist

  • Program runs without errors
  • List is used meaningfully
  • Student-developed procedure exists
  • Procedure has at least one parameter
  • Procedure includes sequencing + selection + iteration
  • Code is commented
  • Sources are acknowledged

πŸ“ Written Response Checklist

  • All required questions answered
  • Responses are clear and specific
  • Within any word/character limits
πŸŽ‰ You're Ready! If all boxes are checked, you've completed the Create Performance Task requirements. Submit with confidence!

πŸ’‘ Real Classroom Examples

Example 1: Quiz Score Tracker

Purpose: Helps students track quiz scores and see progress.

Input: User enters quiz name and score.

List: Stores all quiz scores.

Algorithm: calculateAverage(scores) loops through list, sums scores, divides by count.

Output: Displays average, highest, lowest scores.

Example 2: Vocabulary Flashcard App

Purpose: Helps users learn new words through flashcards.

Input: User adds words/definitions, clicks to reveal.

List: Stores word-definition pairs.

Algorithm: shuffleCards(deck) randomizes order; checkAnswer(guess, correct) compares input to answer.

Output: Shows flashcard, reveals definition, tracks correct count.

Example 3: Simple To-Do List

Purpose: Helps users organize tasks.

Input: User types task, clicks add/complete/delete.

List: Stores all tasks with completion status.

Algorithm: filterTasks(taskList, status) loops through, selects matching status, returns filtered list.

Output: Displays tasks, shows completed count, allows filtering.

⚠️ Common Mistakes That Cost Clarity

  1. Vague purpose statement – "My program does stuff" vs. "My program calculates..."
  2. Not using the list meaningfully – Just having a list isn't enough; you must process it
  3. Procedure without a parameter – Your procedure MUST take at least one parameter
  4. Missing selection OR iteration – Algorithm needs BOTH if/else AND loops
  5. Not explaining HOW the algorithm works – Step-by-step, not just what it does
  6. Forgetting to acknowledge sources – Credit ALL external code
  7. Video doesn't show input AND output – Must demonstrate both
  8. No testing evidence – Document what you tested and results
  9. Confusing procedure name with algorithm explanation – Explain the LOGIC, not just the name
  10. Submitting with syntax errors – Program must run; test before submitting

πŸ‘©β€πŸ« What Reviewers Look For (Teacher Checklist)

  • βœ“ Clear, specific purpose statement
  • βœ“ Program runs without crashing
  • βœ“ Input and output clearly demonstrated
  • βœ“ List is used and its purpose is explained
  • βœ“ Procedure has name, parameter(s), and is called
  • βœ“ Algorithm includes sequencing + selection + iteration
  • βœ“ Algorithm explanation is step-by-step and specific
  • βœ“ Abstraction is explained (how procedure manages complexity)
  • βœ“ Testing evidence with specific inputs and outputs
  • βœ“ All external code is acknowledged

❓ Frequently Asked Questions

What is the Create Performance Task?+
The Create PT is a project where you design, develop, and document a program demonstrating computing concepts. It typically includes code, a video demo, and written responses.
What should my program do?+
Your program should have a clear purpose, accept user input, produce output, use a list meaningfully, and include a student-developed procedure with an algorithm.
What counts as a list?+
A list is an ordered collection of dataβ€”arrays, lists of strings, numbers, or other data types. You must use it meaningfully in your program (not just declare it).
What is a student-developed procedure?+
A procedure YOU write that has a name, takes at least one parameter, includes sequencing + selection + iteration, and is called from your code.
Can I use code from tutorials?+
You must acknowledge any code not written by you. Your student-developed procedure and core algorithm should be your own original work.
How should I explain my algorithm?+
Describe step by step what it does: "First it..., then if..., it loops through... and returns..." Explain the logic, not just that it works.
What is abstraction?+
Abstraction means managing complexity. Using procedures hides detailsβ€”you can call the procedure without knowing every line inside it.
How long should testing take?+
Test thoroughly! Try typical inputs, boundary values (min/max), and edge cases. Document at least 2-3 test cases with inputs and expected outputs.
What if my program has a bug I can't fix?+
Document the bug, explain what you tried, and describe what you'd do differently. Showing your debugging process demonstrates understanding.
What programming language should I use?+
AP CSP is language-agnostic. Use any text-based or block-based language (Python, JavaScript, Scratch, etc.) as long as it meets the requirements.

πŸ“š About This Guide

Created by NUM8ERS Institute & Education LLC Dubai to help AP CSP students succeed on the Create Performance Task. Our materials align with typical AP CSP expectations and best practices.