Create Task

Video

Submit one video file that demonstrates the running of your program as described below. Collaboration is not allowed during the development of your video.

Your video must demonstrate your program running, including:
â–ˇ Input to your program
â–ˇ At least one aspect of the functionality of your program
â–ˇ Output produced by your program

Your video may NOT contain:
â–ˇ Any distinguishing information about yourself
â–ˇ Voice narration (though text captions are encouraged)

Your video must be:
â–ˇ Either .mp4, .wmv, .avi, or .mov format
â–ˇ No more than 1 minute in length
â–ˇ No more than 30MB in file size

Written Response

Submit your responses to prompts 3a – 3d. Your response to all prompts combined must not exceed 750 words (program code is not included in the word count). Collaboration is not allowed on the written responses. Instructions for submitting your written responses are available on the AP Computer Science Principles Exam Page on AP Central.

The template for prompts 3a-3d is here.

Code

Submit one PDF file that contains all of your program code (including comments). Include comments or acknowledgments for any part of the submitted program code that has been written by someone other than you and/or your collaborative partner(s).

Examples

Scoring Guidelines

6 Rows: each row is worth 1 point

ap-computer-science-principles-2021-create-performance-task-scoring-guidelines.pdf

Terminology

  • Input: Program input is data that are sent to a computer for processing by a program. Input can come in a variety of forms, such as tactile (through touch), audible, visual, or text. An event is associated with an action and supplies input data to a program.


  • Program functionality: The behavior of a program during execution and is often described by how a user interacts with it.


  • Output: Program output is any data that are sent from a program to a device. Program output can come in a variety of forms, such as tactile, audible, visual, movement or text.


  • Purpose: The problem being solved or creative interest being pursued through the program.


  • Program Code Segment: A code segment refers to a collection of program statements that are part of a program. For text-based, the collection of program statements should be continuous and within the same procedure. For block-based, the collection of program statements should be contained in the same starter block or what is referred to as a "Hat" block.


  • List: A list is an ordered sequence of elements. The use of lists allows multiple related items to be represented using a single variable. Lists are referred to by different terms, such as arrays or arraylists, depending on the programming language. Data has been stored in this list: Input into the list can be through an initialization or through some computation on other variables or list elements.


  • Collection type: Aggregates elements in a single structure. Some examples include: databases, hash tables, dictionaries, sets, or any other type that aggregates elements in a single structure.


  • List being used: Using a list means the program is creating new data from existing data or accessing multiple elements in the list.


  • Student-developed procedure / algorithm: Program code that is student-developed has been written (individually or collaboratively) by the student who submitted the response. Calls to existing program code or libraries can be included but are not considered student-developed. Event handlers are built in abstractions in some languages and will therefore not be considered student-developed. In some block-based programming languages, event handlers begin with "when".


  • Procedure: A procedure is a named group of programming instructions that may have parameters and return values. Procedures are referred to by different names, such as method or function, depending on the programming language.


  • Parameter: A parameter is an input variable of a procedure.


  • Algorithm: An algorithm is a finite set of instructions that accomplish a specific task. Every algorithm can be constructed using combinations of sequencing, selection, and iteration.


  • Sequencing: The application of each step of an algorithm in the order in which the code statements are given.


  • Selection: Selection determines which parts of an algorithm are executed based on a condition being true or false. The use of try / exception statements is a form of selection statements.


  • Iteration: Iteration is a repetitive portion of an algorithm. Iteration repeats until a given condition is met or a specified number of times. The use of recursion is a form of iteration.


  • Argument(s): The value(s) of the parameter(s) when a procedure is called