1. Programs accept input to achieve their intended functionality. Describe at least one valid input to your program and what your program does with that input.
The written response:
describes at least one valid input to the program.
describes what the program does with the input.
Consider the Video, or Program Code if necessary, and Response 1 when scoring this point.
If the video is not available or does not show the described input, consider the full program code file when scoring this point.
Either a specific example of the input or a description of the input can meet this criteria.
If a response describes an interaction with a device (e.g., mouse or keyboard) as input, it must describe what the program does with the input resulting from the interaction.
Other forms of input could include databases, device inputs such as sensors, or command line arguments.
The response does not need to describe all valid inputs to the program and what the program does with all of these inputs, but all descriptions given must be correct.
Do NOT award a point if any of the following is true:
The description of the valid input is implausible, inaccurate, or inconsistent with the program.
The description of what the program does with the input(s) is implausible, inaccurate, or inconsistent with the program.
2a. Refer to your Personalized Project Reference when answering this question.
Consider the first iteration statement included in the Procedure section of your Personalized Project Reference. Describe what is being accomplished by the code in the body of the iteration statement.
The written response:
describes what is being accomplished by the code in the body of the iteration statement.
Consider the PPR and Response 2a when scoring this point.
If multiple iteration statements are included in the Procedure section of the Personalized Project Reference, use the first iteration statement to determine whether the point is earned.
The first iteration statement can be found in either part (i) or part (ii) of the Procedure section of the Personalized Project Reference.
The iteration statement does not need to be contained in a procedure to earn this point.
If a procedure is identified, it does not need to contain a parameter to earn this point.
The response may describe a summary of what the iteration does in the context of the program or describe the purpose of each statement in the body of the iteration.
Do NOT award a point if any one or more of the following is true:
The Procedure section of the Personalized Project Reference does not contain an iteration statement.
The description of what is being accomplished by the code does not match the code in the body of the first iteration statement.
The response only restates the lines of code in the body of the iteration statement.
The response describes a trivial use of iteration.
The response describes an iteration statement or behavior that is implausible, inaccurate, or inconsistent with the program.
2b. Refer to your Personalized Project Reference when answering this question.
Consider the procedure identified in part (i) of the Procedure section of your Personalized Project Reference. Write two calls to your procedure that each cause a different code segment in the procedure to execute. Describe the expected behavior of each call. If it is not possible for two calls to your procedure to cause different code segments to execute, explain why this is the case for your procedure.
The written response:
includes two calls to the procedure. Each call must cause a different program code segment in the procedure to execute.
describes the expected behavior of each call.
OR
explains why it is not possible for two calls to the procedure to cause different code segments to execute.
Consider the PPR and Response 2b when scoring this point.
If multiple procedures are included in part (i) of the Procedure section of the Personalized Project Reference:
Use the procedure identified in the written response to determine whether the point is earned.
If no procedure is identified in the written response, then use the first procedure to determine whether the point is earned.
The parameter(s) used in the procedure must be explicit. Explicit parameters are defined in the header of the procedure.
A procedure that uses its parameter(s) to execute two different code segments can earn this point.
A procedure that uses its parameter(s) to execute or bypass a code segment can earn this point.
The syntax of the procedure calls does not need to be correct as long as the correct arguments are identified.
A description of each call rather than program code is acceptable.
A general description of argument value(s) is considered acceptable.
Do NOT award a point if any of the following is true:
A procedure is not identified in part (i) of the Procedure section of the Personalized Project Reference.
The response does not apply to the procedure in part (i) of the Procedure section of the Personalized Project Reference.
The procedure identified in part (i) of the Procedure section of the Personalized Project Reference does not include at least one explicit parameter.
The use of the explicit parameter is irrelevant (e.g., does not affect the code segment of the procedure that is executed or is reassigned before being used).
The two calls are to two different procedures.
The response describes expected behavior that is implausible, inaccurate, or inconsistent with the program.
2c. Refer to your Personalized Project Reference when answering this question.
Suppose another programmer provides you with a procedure called checkValidity(value) that returns true if a value passed as an argument is considered valid by the other programmer and returns false otherwise. Using the list identified in the List section of your Personalized Project Reference, explain in detailed steps an algorithm that uses checkValidity to check whether all elements in your list are considered valid by the other programmer. Your explanation must be detailed enough for someone else to write the program code for the algorithm that uses checkValidity.
The written response:
explains in detailed steps an algorithm that uses checkValidity to check whether all elements in the list are considered valid.
Consider the PPR and Response 2c when scoring this point.
If multiple lists are included in the List section of the Personalized Project Reference, use the list identified in the written response to determine whether the point is earned.
The algorithm can be described in code, pseudocode, as a sequence of steps in English, or as a paragraph in English.
The algorithm must describe how each element of the identified list is passed into checkValidity at least up to the first invalid element, if applicable.
Do NOT award a point if any of the following is true:
A list is not identified in the List section of the Personalized Project Reference.
If the algorithm described assumes the list contains a single element.
The list identified in the Personalized Project Reference is not referenced in the response.
The response implements checkValidity rather than describing its use.
The response is too vague to allow another programmer to recreate the algorithm.