Create Performance Task

Download as pdf or txt
Download as pdf or txt
You are on page 1of 5

AP

CapstoneScience
AP Computer Program Principles: Create Performance Task Handout
Course and Exam Description

Performance Task: Create Applications


from Ideas

Overview
Programming is a collaborative and creative process that brings ideas to life
through the development of software. Programs can help solve problems, enable
innovations, or express personal interests. In this performance task, you will be
developing a program of your choice. Your development process should include
iteratively designing, implementing, and testing your program. You are strongly
encouraged to work with another student in your class.
Please note that once this performance task has been assigned as an assessment
(rather than as practice), you are expected to complete the task with minimal
assistance from anyone other than your collaborative peer(s). For more clarification
see the Guidelines for Completing the Through-Course Performance Tasks section.
You will be provided with a minimum of 12 hours of class time to complete and submit
the following:
A video of your program running
Individual written responses about your program and development process
Program code
Scoring guidelines and instructions for submitting your performance tasks are
available on the AP Computer Science Principles Course Home Page.
Note: Students in nontraditional classroom environments should consult a school-
based AP Coordinator for instructions.

General Requirements
This performance task requires you to develop a program on a topic that interests
you or one that solves a problem. During the completion of this performance task,
you will iteratively design, implement, and test your program. You will provide
written responses to prompts about your program and specific program code that
are significant to the functionality of your program. It is strongly recommended that
a portion of the program involve some form of collaboration with another student in
your class, for example, in the planning, designing, or testing (debugging) part of
the development process. Your program development must also involve a significant
amount of independent work writing your program code, in particular, algorithm(s)
and abstraction(s) that you select to use as part of your written response to describe
how the program code segments help your program run.
AP
CapstoneScience
AP Computer Program Principles: Create Performance Task Handout
Course and Exam Description

You are required to:


independently develop an algorithm that integrates two or more algorithms and
that is fundamental for your program to achieve its intended purpose;
develop an abstraction that manages the complexity of your program;
create a video that displays the running of your program and demonstrates its
functionality;
write responses to all the prompts in the performance task; and
submit your entire program code.

Program Requirements
Your program must demonstrate a variety of capabilities and implement several
different language features that, when combined, produce a result that cannot be
easily accomplished without computing tools and techniques. Your program should
draw upon mathematical and logical concepts, such as use of numbers, variables,
mathematical expressions with arithmetic operators, logical and Boolean operators
and expressions, decision statements, iteration, and/or collections.
Your program must demonstrate:
use of several effectively integrated mathematical and logical concepts, from the
language you are using;
implementation of an algorithm that integrates two or more algorithms and integrates
mathematical and/or logical concepts; and
development and use of abstractions to manage the complexity of your program
(e.g., procedures, abstractions provided by the programming language, APIs).

Submission Requirements
1. Video
Submit one video in .mp4, .wmv, .avi, or .mov format that demonstrates the running
of at least one significant feature of your program. Your video must not exceed
1 minute in length and must not exceed 30MB in size.
2. Written Responses
Submit one PDF file in which you respond directly to each prompt. Clearly label
your responses 2a2d in order. Your response to all prompts combined must not
exceed 750 words, exclusive of the Program Code.
AP
CapstoneScience
AP Computer Program Principles: Create Performance Task Handout
Course and Exam Description

Program Purpose and Development


2a. Provide a written response or audio narration in your video that:
w identifies the programming language;
w identifies the purpose of your program; and
w explains what the video illustrates.
(Must not exceed 150 words)
2b. Describe the incremental and iterative development process of your program,
focusing on two distinct points in that process. Describe the difficulties and/
or opportunities you encountered and how they were resolved or incorporated.
In your description clearly indicate whether the development described
was collaborative or independent. At least one of these points must refer to
independent program development. (Must not exceed 200 words)
2c. Capture and paste a program code segment that implements an algorithm
(marked with an oval in section 3 below) and that is fundamental for your
program to achieve its intended purpose. This code segment must be an
algorithm you developed individually on your own, must include two or more
algorithms, and must integrate mathematical and/or logical concepts. Describe
how each algorithm within your selected algorithm functions independently,
as well as in combination with others, to form a new algorithm that helps to
achieve the intended purpose of the program. (Must not exceed 200 words)
2d. Capture and paste a program code segment that contains an abstraction you
developed individually on your own (marked with a rectangle in section 3
below). This abstraction must integrate mathematical and logical concepts.
Explain how your abstraction helped manage the complexity of your program.
(Must not exceed 200 words)
3. Program Code
Capture and paste your entire program code in this section.
Mark with an oval the segment of program code that implements the algorithm
you created for your program that integrates other algorithms and integrates
mathematical and/or logical concepts.
Mark with a rectangle the segment of program code that represents an
abstraction you developed.
Include comments or acknowledgments for program code that has been written
by someone else.
AP Computer Science Principles Create Performance Task

2018 Scoring Guidelines and Notes


2017 The College Board

AP Computer Science Principles


Reporting Task Scoring Criteria Decision Rules Scoring Notes
Category
Row 1 VIDEO & The video demonstrates the Response earns the point if it explains the function of the program instead of identifying Purpose means the intended goal or objective
RESPONSE running of at least one feature of the purpose. of the program.
Developing a 2A the program submitted. Function means how the program works.
Response earns the point if the illustrated feature runs, even if it does not function as
Program with AND
intended.
a Purpose The response (audio narration or
written response) identifies the Response earns the point if the video includes a narration or some form of closed
purpose of the program (what the captioning that addresses the purpose of the program.
program is attempting to do).
Do NOT award a point if any one of the following is true:
a video is not submitted;
the video does not illustrate the feature mentioned in the response; or
the video does not illustrate the running of the feature (screen shots or
storyboards are not acceptable and would not be credited).
Row 2 RESPONSE Describes or outlines steps used in Do NOT award a point if any one of the following is true: Development processes are iterative and
2B the incremental and iterative the response does not indicate iterative development; cyclical in nature and require students to
Developing a development process to create the refinement and revision are not connected to feedback, testing, or reflection; or reflect AND improve on what they have
Program with entire program. the response only describes the development at two specific points in time. created. Examples of iterative development
a Purpose could include reflection, revision, testing and
refining, and improvements based on feedback.
The incremental and iterative development
process does not need to be a formal method
such as waterfall, top down, bottom-up,
agile, etc.
Row 3 RESPONSE Specifically identifies at least two Response earns the point if it identifies two opportunities, or two difficulties, or one
2B program development difficulties opportunity and one difficulty AND describes how each is resolved or incorporated.
Developing a or opportunities.
Do NOT award a point if any one of the following is true:
Program with AND
only one distinct difficulty or opportunity in the process is identified and
a Purpose Describes how the two identified
described; or
difficulties or opportunities are
the response does not describe how the difficulties or opportunities were resolved
resolved or incorporated.
or incorporated.
Row 4 CODE Selected code segment implements Do NOT award a point if any one of the following is true: Algorithms are precise sequences of
SEGMENT an algorithm. the algorithm consists of a single instruction; instructions for processes that can be executed
Applying IN the code segment consisting of the algorithm is not included in the written by a computer and are implemented using
Algorithms RESPONSE responses section or is not explicitly identified in the program code section; or programming languages. (EU 4.1)
2C the algorithm is not explicitly identified (i.e., the entire program is selected as an Algorithms make use of sequencing, selection
algorithm, without explicitly identifying the code segment containing the or iteration. (EK 4.1.1A)
algorithm).
24
Reporting Task Scoring Criteria Decision Rules Scoring Notes
Category
Row 5 RESPONSE Selected code segment implements The algorithm being described can utilize existing language functionality, or library calls. See Row 4 definitions and curriculum
2C an algorithm that uses framework alignment.
mathematical or logical concepts. Response earns the point even if the algorithm was not newly developed. (i.e., a students
Applying Mathematical concepts include mathematical
2017 The College Board

AP Computer Science Principles


reimplementation of the algorithm to find the minimum value)
Algorithms AND expressions using arithmetic operators and
Explains how the selected Do NOT award a point if any one of the following is true: mathematical functions. (EK 5.5.1.D)
algorithm functions. the selected algorithm consists of a single instruction; Logical concepts include Boolean algebra and
AND the selected algorithm consists solely of library calls to existing language compound expressions. (EK 5.5.1E and 5.5.1F)
Describes what the selected functionality; Iteration is the repetition of part of an
algorithm does in relation to the the selected algorithm does not include mathematical or logical concepts; algorithm until a condition is met or for a
overall purpose of the program. the response only describes what the selected algorithm does without explaining specified number of times. (EK 4.1.1D)
Selection uses a Boolean condition to
how it does it;
the response does not explicitly address the programs purpose; determine which of two parts of an algorithm is
used. (EK 4.1.1C)
the code segment consisting of the selected algorithm is not included in the
Iteration is the repetition of part of an
written responses section or is not explicitly identified in the program code
algorithm until a condition is met or for a
section; or
specified number of times. (EK 4.1.1D)
the algorithm is not explicitly identified (i.e., the entire program is selected as an
Selection uses a Boolean condition to
algorithm, without explicitly identifying the code segment containing the
determine which of two parts of an algorithm is
algorithm).
used. (EK 4.1.1C)
Row 6 RESPONSE Selected code segment implements Do NOT award a point if any one of the following is true: See Row 4 and Row 5 definitions and
2C an algorithm that includes at least the selected algorithm consists of a single instruction; curriculum framework alignment.
Applying two or more algorithms. the selected algorithm consists solely of library calls to existing language
Algorithms AND functionality;
At least one of the included neither of the included algorithms nor the selected algorithm that includes two
algorithms uses mathematical or or more algorithms uses mathematical or logical concepts;
logical concepts. the code segment consisting of the algorithm is not included in the written
AND responses section or is not explicitly identified in the program code section; or
Explains how one of the included the algorithm is not explicitly identified (i.e., the entire program is selected as an
algorithms functions algorithm, without explicitly identifying the code segment containing the
independently. algorithm).
Row 7 CODE Selected code segment is a Responses that use existing abstractions to create a new abstraction, such as creating a list The following are examples of abstractions
SEGMENT student-developed abstraction. to represent a collection (e.g., a classroom, an inventory), would earn this point. (EK 5.3.1):
Applying IN Procedures
RESPONSE Do NOT award a point if any one of the following is true:
Abstraction Parameters
2D the response is an existing abstraction such as variables, existing control
Lists
structures, event handlers, APIs;
the code segment consisting of the abstraction is not included in the written Application program interfaces (APIs)
responses section or is not explicitly identified in the program code section; or Libraries
the abstraction is not explicitly identified (i.e., the entire program is selected as Lists and other collections can be treated as
an abstraction, without explicitly identifying the code segment containing the abstract data types (ADTs) in developing
abstraction). programs. (EK 5.5.1I)

Row 8 RESPONSE Explains how the selected Responses should not be penalized for explanations of abstractions that are not developed See Row 7 definitions and curriculum
2D abstraction manages the by the student. framework alignment.
Applying complexity of the program.
Do NOT award a point if any one of the following is true:
Abstraction
the explanation does not apply to the selected abstraction; or
the abstraction is not explicitly identified (i.e., the entire program is selected as
an abstraction, without explicitly identifying the code segment containing the
25

abstraction).

You might also like