Video summary

AP CS Principles Create PT Part 1 - Full Project Guide

Main summary

Key takeaways

Educational

Main ideas / lessons

The AP CSP Create Performance Task (Create PT) is a graded, exam-based project where you:

  1. Write/program the solution
  2. Create a video explanation of the program
  3. Build a Personalized Project Reference (PPR) containing code snippets to use during the exam

The video emphasizes that, despite the amount of information involved, the Create PT boils down to three components:

  • Code
  • Video explaining the code
  • Personalized Project Reference (snippets used to answer exam questions)

During the exam, students answer four free-response questions using the code shown in the PPR.


What the presenter says is “enough” to earn full points (core requirements distilled)

Code requirements (the key parts)

  • Use a list in a meaningful way
    • Example approach: maintain a list such as “top games” and display it.
  • Create a student-developed function that:
    • Has one or more parameters
    • Implements an algorithm with:
      • Selection (conditionals like if)
      • Iteration (loops like for)
    • Is a function you wrote (not an event handler).

Video / presentation requirements (high-level)

  • The video must clearly explain the app using inputs and outputs
    • Example: user enters a game → the list updates on screen.

Methodology shown by the example project (step-by-step, detailed)

The presenter walks through building a simple Code.org / App Lab (JavaScript) project that meets the Create PT criteria.

A. Build the UI (one-time setup)

Create:

  • Text input for the next game name
    • ID: gameInput
  • Add button
    • ID: addButton
  • Text area / display area to show the list
    • ID: gameList
  • Clear button
    • ID: clearButton
  • Optional labels describing what to do (recommended for clarity in the video)

B. Initialize a list (global list)

Create a global list:

  • games = [] (empty list initially)

C. Create the required student-developed function with parameter + iteration + selection

Define a function:

  • Name: addGameToList (student-created procedure)
  • Parameter: the game being added (e.g., game)

Inside the function:

  • Read the input text from the UI
    • Use getText from the input element
  • Avoid duplicates by calling another student-developed function:
    • If the game already exists, do not add it
    • Otherwise, add it

D. Implement the “iteration + selection” function used for the algorithm

Create a function like:

  • existsInList(game)

Function behavior:

  • Parameter: game
  • Iteration: loop through all elements in games
    • Example: for loop from 0 to games.length - 1
  • Selection: check equality for each item
    • If an item equals game, return true
  • If no match is found:
    • return false

E. Update the displayed list output

Define a function like updateGames():

  • Convert list items into a display string
  • Use join so each item appears on its own line (newline separator)
  • Set the text area (gameList) to that resulting string

F. Wire the “Add” button to call the student-developed function(s)

When Add is clicked:

  1. Read the text from the input
  2. Call addGameToList using that value

G. Add “Clear list” behavior

When Clear is clicked:

  • Set games = []
  • Call updateGames() to refresh what’s shown

H. Add optional input validation (extra conditional)

Prevent adding empty items:

  • If input is empty, don’t add it
  • (Shown with a console log for developer debugging)

How the code maps into the Personalized Project Reference (PPR)

The presenter explains how to select code segments for different PPR fields.

PPR Part 1: Student-developed procedure segment

Must show a student-developed procedure that:

  • Has a procedure name and parameters
  • Implements an algorithm including:
    • selection
    • iteration

Suitable segment in the example:

  • existsInList
    • Has parameter (game)
    • Has loop (iteration)
    • Has conditional equality check (selection)

PPR Part 2: Procedure call segment

Must show where you call the student procedure.

Suitable segment:

  • Inside addGameToList, where existsInList(game) is used inside the if/else logic.

PPR List storage segments

Need code showing how data are stored in the list.

Suitable segment examples:

  • Where you add to the list, e.g., appendItem(games, game)
  • Or code showing list use for its intended purpose, such as:
    • Populating output in updateGames with join
    • Using existsInList to check list membership

Emphasis for the video portion

  • Show inputs and outputs clearly in the video
    • Example: type a game and demonstrate it appearing in the displayed list.

Speakers / sources featured

  • Speaker: The presenter (unnamed in the subtitles) giving the “AP CS Principles Create PT Part 1 - Full Project Guide” instructions
  • Source/tool referenced: Code.org App Lab (JavaScript) used for the example project

Rate this summary

Your feedback will help improve summaries.

Improve this summary

Reprocess with a stronger model when the summary feels incomplete or inaccurate.

Pro

Translate summary in another language

Pro

Ask questions to this video

Chat for follow-up questions, clarifications, and source-backed answers.

Coming soon

Share this summary

Original video