brentwoodhigh.com

repl.it | code.org | Draw.io | Site Stats
Coding I Schedule | Coding I LogIn | Coding I Archive | Coding I Resources |
Coding II Schedule | Coding II LogIn | Coding II Archive | Coding II Resources |
APP schedule | APP LogIn | APP Archive | APP Resources |

AP Principles Resources

 

AP Computer Science Principles Student Handouts

AP Principles College Board Submission Requirements

1. Program Code
2. Video
3. Written Question pt 1
4. Written Questions pt 2
5. Written Questions pt 3
6. Written Questions pt 4

Written Questions in a document. docx | doc | rtf | pdf | htm

CSP Exam Reference Sheet

AP® Computer Science Principles COURSE AND EXAM DESCRIPTION

 

 

Sample Video and Written Questions

I copied written response 3a question for each video.

3a. Provide a written response that does all three of the following: Approx. 150 words (for all subparts of 3a combined)

i. Describes the overall purpose of the program
ii. Describes what functionality of the program is demonstrated in the video
iii. Describes the input and output of the program demonstrated in the video

3a) This program was created in MIT App Inventor to address the issue of learning new languages. Here it teaches the user how to say different colors, where the user inputs what language it wants to hear, either Spanish or French, and then taps on a color, prompting the program to output the audio for that certain color. This allows users to quickly learn how to say colors in another language through interaction and output of audio. In the video, it shows an example of the user clicking on the Spanish checkbox and playing the audio for red and blue. The user can hear what it sounds like, and thus learn how to say it correctly. If the user accidentally inputs no language or both, the program will catch the error and notify the user.

Written Questions

 

 

 

 

 

Odd Stations Ver 1 | Ver 2
Even Stations Ver1 | Ver 2

 

3a) My Program is called Lee's Typing Game. It is a computer game that allows people to practice their typing. Introducing a variety of sentences, my program helps with improving their typing skills with a score feature that motivates the user to become better and type more quickly and accurately. In the video, the opening screen explains the game's objective. Upon pressing start, on the first sentence, I incorrectly input the sentence and press done, which outputs a penalty on the timer and notifies the user. After I correctly type it and press done, the output is that the timer restarts and the score updates. I then continue playing the typing game. After finishing typing 5 sentences, the game shows the user their score and the ability to add their name to the high score list, with limits to their name. Then, it demonstrates the unique feature of the high scores.

Written Questions

 

 

 

 

 

 

3a. My app is intended to lessen the effects of global warming and to decrease the amount of non recyclable waste we produce. In the video, you can see the question label that displays a random list item from “global questions list”. Once the user reads the question, they answer it using the text box. Depending on the users input, the program will produce various outputs, which it pulls from “global solutions list”. If the program decides the user spends too much time driving, using their AC, or doesn’t recycle enough, they will notify them by displaying an output on “output label” that tells them what they can do to lessen their carbon footprint. Also, a thumbs down image is displayed, unless the input indicates they are being good with their emissions. In that case, a thumbs up is displayed and “output label” tells the user they are doing good and to keep it up.

Written Questions

 

 

 

 

 

 

 

3a. The video illustrates the beginning of our digital air hockey game. The purpose of our program is to provide enjoyable entertainment to solitary players. Many players want to be able to play video games by themselves but find it impossible due to the design of the game, however our program allows players to easily play a two person game, with one person. The input demonstrated is the location of the mouse (x coordinate and y coordinate) which is passed to two different methods depending on whether the mouse is on the right half or left half of the screen. If the mouse is on the left half, the mouse position is sent to the method that controls the paddle on the left side, allowing it to move up and down on the screen as demonstrated, and vice versa for the right paddle. The output is the visible interface of the game.

Written Questions

 

 

 

 

 

 

3a. My program ultimately works to address the issue of screen addiction in society, as users who record their usage are more conscious of their own addiction. My program then tackles the issue head on, as new alternatives to screen usage can be selected with the activities button, mitigating overall screen usage. As can be seen from the illustration of my program, users are able to input the amount of time they spend on their screen each day. This data is collected and can be paused by the users, and resumed at whatever time they continue use of their screen. Then once the user feels that have used a sufficient amount of screen time in a day, they can click the screen free challenge button to output an amount of time to go screen free. They also have the activity button which outputs different activities to try that don’t involve screens.

Written Questions

 

 

 

 

Odd Stations Ver 1 | Ver 2
Even Stations Ver1 | Ver 2

 

3a) The video shows the user typing in their username, throwing the dart, getting their score, and then their high score being displayed. One input into the program is the user’s name. Another input is the coordinates of the mouse click. The user’s name is turned into an output when it is displayed in the high scores list. The input of the coordinates of the mouse is shown as output in the end as a score. The program entertains children by giving them multiple different games to play.

Written Questions

 

 

 

 

 

 

3a. The program my partner and I wrote addresses the issue of making an RPG character. Though there are many RPG character creators out there, they can be complicated and difficult to use. Our program is very straightforward with lots of room for customizability in order to allow the easy creation of an RPG character for either a beginner or a seasoned veteran.

Written Questions

 

 

 

 

 

 

3a. This video illustrates my program running in its entirety. The input in my program would be the user input when prompted with questions. The output would be the program telling if the water is safe for drinking or for animals to live in. The purpose of my program is to help people identify if their water is safe for drinking or for animals. People can enter information about their water into the program and it will let them know if they should drink it.

Written Questions

 

 

 

 

 

 

 

3.)a.) The video shows the program being used to calculate random integers based on an integer input. This address the issue of having to calculate random numbers for various purposes. Now there is an easy tool to do this.

Written Questions

 

 

 

Create Performance Task Rubric

6 points

Learning Objectives: CRD-2.B  AAP-1.D.a  AAP-1.D.b  AAP-3.C  AAP-2.H.a  AAP-2.K.a  CRD-2.J

 

 

General Scoring Notes

       Responses should be evaluated solely on the rationale provided.

       Responses must demonstrate all criteria, including those within bulleted lists, in each row to earn the point for that row.

       Terms and phrases defined in the terminology list are italicized when they first appear in the scoring criteria.

 

Reporting Category

Scoring Criteria

Decision Rules

Row 1  

Program Purpose and Function

 

(0-1 points)

 

 

 

The video demonstrates the running of the program including:

     input

     program functionality

     output

AND

The written response:

     Describes the overall purpose of the program.

     Describes what functionality of the program is demonstrated in the video.

     Describes the input and output of the program demonstrated in the video.

Consider ONLY the video and written response 3a when scoring this point. 

 

Do NOT award a point if the following is true:

    The video does not show a demonstration of the program running (screenshots or storyboards are not acceptable and would not be credited.)

 

                 

Row 2

Data Abstraction

 

(0-1 points)

 

 

The written response: 

     includes two program code segments:

-        one that shows how data has been stored in this list (or other collection type).

-        one that shows the data in this same list being used as part of fulfilling the program’s purpose.  

     identifies the name of the variable representing the list being used in this response.

     describes what the data contained in this list is representing in the program.

Consider ONLY written response 3b when scoring this point.

 

Requirements for program code segments:

     The written response must include two clearly distinguishable program code segments, but these segments may be disjointed code segments or two parts of a contiguous code segment.  

     If the written response includes more than two code segments, use the first two code segments to determine whether or not the point is earned. 

 

Do NOT award a point if the following is true:

     The use of the list is trivial and does not assist in fulfilling the program’s purpose.

 

 

Reporting Category

Scoring Criteria

Decision Rules

Row 3

Managing

Complexity

 

(0-1 points)

 

 

The written response:

     includes a program code segment that shows a list being used to manage complexity in the program.

     explains how the named, selected list manages complexity in the program code by explaining why the program code could not be written, or how it would be written differently, without using this list.

Consider ONLY written response 3b when scoring this point. 

 

Responses that do not earn the point in row 2 may still earn the point in this row. 

 

Do NOT award a point if any one or more of the following is true:

     The code segments containing the lists are not separately included in the written response section (not included at all, or the entire program is selected without explicitly identifying the code segments containing the list).

     The written response does not name the selected list (or other collection type).

     The use of the list is irrelevant or not used in the program.

     The explanation does not apply to the selected list.

     The explanation of how the list manages complexity is implausible, inaccurate, or inconsistent with the program.

     The solution without the list is implausible, inaccurate, or inconsistent with the program.

     The use of the list does not result in a program that is easier to develop, meaning alternatives presented are equally complex or potentially easier.

     The use of the list does not result in a program that is easier to maintain, meaning that future changes to the size of the list would cause significant modifications to the code. 

Row 4

Procedural

Abstraction

 

(0-1 points)

 

 

The written response: 

     includes two program code segments:

-        one showing a student-developed procedure with at least one parameter that has an effect on the functionality of the procedure. 

-        one showing where the student-developed procedure is being called.

     describes what the identified procedure does and how it contributes to the overall functionality of the program. 

Consider ONLY written response 3c when scoring this point. 

 

Requirements for program code segments:

     The procedure must be student developed, but could be developed collaboratively with a partner.

     If multiple procedures are included, use the first procedure to determine whether the point is earned.

 

Do NOT award a point if any one or more of the following is true:

     The code segment consisting of the procedure is not included in the written responses section.

     The procedure is a built-in or existing procedure or language structure, such as an event handler or main method, where the student only implements the body of the procedure rather than defining the name, return type (if applicable) and parameters.

     The written response describes what the procedure does independently without relating it to the overall function of the program.

 

Reporting Category

Scoring Criteria

Decision Rules

Row 5

Algorithm

Implementation

 

(0-1 points)

  

The written response:

     includes a program code segment of a studentdeveloped algorithm that includes

-        sequencing

-        selection

-        iteration

     explains in detailed steps how the identified algorithm works in enough detail that someone else could recreate it.

Consider ONLY written response 3c when scoring this point. 

 

Responses that do not earn the point in row 4 may still earn the point in this row. 

 

Requirements for program code segments:

     The algorithm being described can utilize existing language functionality or library calls. 

     An algorithm that contains selection and iteration, also contains sequencing.

     An algorithm containing sequencing, selection, and iteration that is not contained in a procedure can earn this point. 

     Use the first code segment, as well as any included code for procedures called within this first code segment, to determine whether the point is earned.

     If this code segment calls other student-developed procedures, the procedures called from within the main procedure can be considered when evaluating whether the elements of sequencing, selection, and iteration are present as long as the code for the called procedures is included. 

 

Do NOT award a point if any one or more of the following is true:

     The response only describes what the selected algorithm does without explaining how it does it.

     The description of the algorithm does not match the included program code.

     The code segment consisting of the selected algorithm is not included in the written response.

     The algorithm is not explicitly identified (i.e., the entire program is selected as an algorithm without explicitly identifying the code segment containing the algorithm).

     The use of either the selection or the iteration is trivial and does not affect the outcome of the program. 

Reporting Category

Scoring Criteria

Decision Rules

Row 6

Testing

 

(0-1 points)

 

 

 

The written response:

     describe two calls to the selected procedure identified in written response 3c. Each call must pass a different argument(s) that causes a different segment of code in the algorithm to execute.

     describes the condition(s) being tested by each call to the procedure.

     identifies the result of each call. 

Consider ONLY the written response for 3d and the selected procedure identified in written response 3c. 

 

Responses that do not earn the point in row 4 may still earn the point in this row. 

 

Do NOT award a point if any one or more of the following is true:

     A procedure is not identified in written response 3c or the procedure does not have a parameter.

     The written response for 3d does not apply to the procedure in 3c.

     The two calls cause the same segment of code in the algorithm to execute even if the result is different.

     The response describes conditions being tested that are implausible, inaccurate, or inconsistent with the program.

     The identified results of either call are implausible, inaccurate, or inconsistent with the program. 

 

 

 

 

             

AP Computer Science Principles Create Performance Task Terminology (in order of appearance in the scoring guidelines)

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. 

 

 

 

 

10 even 11 odd

 

 

Updated: Friday, May 20, 2022 10:05 AM

About Us | Contact Us | ©2005 brentwoodhigh.com