Video summary
AP CS Principles Create PT Part 1 - Full Project Guide
Main summary
Key takeaways
Main ideas / lessons
The AP CSP Create Performance Task (Create PT) is a graded, exam-based project where you:
- Write/program the solution
- Create a video explanation of the program
- 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)
- Selection (conditionals like
- 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
- ID:
- Add button
- ID:
addButton
- ID:
- Text area / display area to show the list
- ID:
gameList
- ID:
- Clear button
- ID:
clearButton
- ID:
- 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
getTextfrom the input element
- Use
- 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:
forloop from0togames.length - 1
- Example:
- Selection: check equality for each item
- If an item equals
game, returntrue
- If an item equals
- If no match is found:
- return
false
- return
E. Update the displayed list output
Define a function like updateGames():
- Convert list items into a display string
- Use
joinso 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:
- Read the text from the input
- Call
addGameToListusing 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)
- Has parameter (
PPR Part 2: Procedure call segment
Must show where you call the student procedure.
Suitable segment:
- Inside
addGameToList, whereexistsInList(game)is used inside theif/elselogic.
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
updateGameswithjoin - Using
existsInListto check list membership
- Populating output in
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.
Translate summary in another language
Ask questions to this video
Chat for follow-up questions, clarifications, and source-backed answers.