1. Program Design, Function, and Purpose
Identify an expected user of your program. Describe one way your program's design meets the needs of this user.
Scoring Criteria:
The written response:
identifies an expected user of the program.
describes one way the program's design meets the needs of the identified user.
Decision Rules:
Consider Written Response 1 and the student's Program Code when scoring this point.
The response must relate the program design to the needs of the identified user.
Do NOT award a point if the following is true:
The description of the design is implausible, inaccurate, or inconsistent with the program.
2a. Algorithm Development
Consider the first iteration statement included in the Procedure section of your Personalized Project Reference. Identify the number of times the body of your iteration statement will execute. Describe a condition or error that would cause your iteration statement to not terminate and cause an infinite loop. If no such condition or error exists, explain how the loop could be modified to cause an infinite loop.
Scoring Criteria:
The written response:
identifies the number of times the body of the iteration statement will execute.
AND one of the following
describes a condition or error that would cause an infinite loop.
OR
if no such condition or error exists, explains how the loop could be modified to cause an infinite loop.
Decision Rules:
Consider the Personalized Project Reference and Written 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 iteration statement does not need to be contained in a procedure to earn this point.
Do NOT award a point if the following is true:
The identified number of times the body of the iteration statement will execute does not match the code.
2b. Errors and Testing
Consider the procedure included in part (i) of the Procedure section of your Personalized Project Reference. Describe a change to your procedure that will result in a run-time error. Explain why this change will result in a run-time error.
Scoring Criteria:
The written response:
describes a change to the procedure that will result in a run-time error.
explains why the change will result in a runtime error.
Decision Rules:
Consider the Personalized Project Reference and Written 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 first procedure to determine whether the point is earned.
Do NOT award a point if any one or more 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 in part (i) of the Procedure section of the Personalized Project Reference.
The response describes expected behavior that is implausible, inaccurate, or inconsistent with the program.
2c. Data and Procedural Abstraction
Suppose you are provided with a procedure called isEqual (value1, value2). The procedure returns true if the two parameters value1 and value2 are equal in value and returns false otherwise. Using the list you identified in the List section of your Personalized Project Reference, explain in detailed steps an algorithm that uses isEqual to count the number of times a certain value appears in your list. Your explanation must be detailed enough for someone else to write the program code.
Scoring Criteria:
The written response:
explains in detailed steps an algorithm that uses isEqual to count the number of elements in the list that are equal to a certain value.
Decision Rules:
Consider the Personalized Project Reference and Written Response 2c when scoring this point.
If multiple lists are included in the List section of the Personalized Project Reference, use the first list 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 iterating over all elements of the list, calling isEqual on each list element and maintaining a count of the number of list elements equal to a certain value.
The algorithm must correctly determine the number of elements that are equal to a certain value. Some ways this can be determined is by storing the value in a variable, returning it, or displaying it to the user.
Do NOT award a point if the following is true:
A list is not identified in the List section of the Personalized Project Reference.
The description of the algorithm is not detailed enough for someone else to write the code.