Submission #1

Reporting Category Criteria Parameters Met Parameters NOT Met Student Score CB Score Discrepancy?
Program Purpose and Function Video
  • Input
  • Program Functionality
  • Output
Written Response
  • Describes the overall program purpose
  • Describes the overall program functionality
  • Describes the input and output of the program
Video
The video showed the input (1) into the program from the user with the yes/no prompt, and the output (2) which showed the result based on the answer to the prompt. This input/output relationship showed the program functionality (3). All the video requirements were met.
Written In the written response, the student talks about how the purpose of the program (1) is for "entertainment" and "to make a decision". Then, it talks about the program's input & output (2), where the user puts in either rock, paper, or scissors and gets an output of a win, loss, or draw based on that input. The program's functionality (3) is also described in detail, talking about how the program asks the user to put in an option (rock, paper, or scissors) and the computer chooses one of the random options to "go against" the user. Then, the two inputs are compared to show an output to the user (win, loss, or draw), and the program allows the user to play another game. All the written response requirements were met.
All parameters were met. 1 1 No discrepancies.
Data Abstraction Written Response
  • Includes two program code segments, one showing data stored in a list and the other showing the data in the list being used for the program's purpose
  • Identifies name of variable representing the list
  • Describes what data in the list represents in the program
The program shows two program code segments (1), as it shows the data stored in the RPS list (2). The response also talks about what the data in the RPS list represents in the program, which are the options the computer can use as its input to put up against the user input. The program DOES NOT show the data in the list being used for the program's purpose. Instead, the second code segment shows a series of if and elif statements that are used to show the final user output based on the user vs computer inputs. 0 0 No discrepancies.
Managing Complexity Written Response
  • Includes a program code segment showing a list to manage program's complexity
  • Explains how the named, selected list manages complexity by explaining why the program code couldn't be written or how it would be written differently without using the list.
The written response goes in-depth talking about how the program could be written without lists (1), with each potential computer input being coupled with a number. The program would pick a number from 1-4 randomly, and then based on the number, the corresponding input would be chosen for the computer. Though the response shows the program code segment with a list (list RPS), it does not show how the RPS list manages the program's complexity. 0 0 No discrepancies.
Procedural Abstraction Written Response
  • Includes two program code segments, one showing a student developed procedure with at least one parameter impacting program functionality and another showing where that procedure is being called.
  • Describes what the identified procedure does and how it contributes to overall program functionality
One of the program code segments shows the usage of student-developed procedure rpsGame with a parameter impacting program functionality (1). In the second code segment, it shows the rpsGame procedure being called (2) with rpsGame (yourPlay). Then, the response talks about how rpsGame works with the program, and how it "allows for the program to execute smoothly", therefore showing how it contributes to overall program functionality (3). All parameters were met. 1 0 CB didn't find "allows for the program to execute smoothly" to be a valid explanation of how it contributes to overall program functionality.
Algorithm Implementation Written Response
  • Includes a program code segment of a student-developed algorithm that includes sequencing, selection, and iteration.
  • Explains with detailed steps how the algorithm works so that even someone else could recreate it.
There is a program code segment shown with the student-developed algorithm within the rpsGame procedure which includes sequencing, selection, and iteration (1). Furthermore, it has detailed steps in the writeup showing how this algorithm works (2) with the computer randomly picking, saving the item, displaying the choice and figuring out the output and print using if and elif statements. All parameters were met. 1 1 No discrepancies.
Testing Written Response
  • Describes two calls to the selected procedure identified in written response 3c. Each call must pass a different argument causing a different piece of code in the algorithm to execute.
  • Describes the condition(s) tested by each call to the procedure.
  • Identifies the result of each call.
The written response talks about two calls to the procedure, each with a different argument. The first call is to yourPlay procedure with the "rock" argument and the computer input as "paper", and the second call to the yourPlay procedure with the "paper" argument and the computer input as "rock" (1). Each of the calls mentioned in the response has the conditions which were tested explicitly mentioned (2), and it has the explicit results of both calls at the end (3). All parameters were met. 1 1 No discrepancies.


Overall, this CPT submission was average, as it did not have any massive gaping holes, but 2-3 criterion which it did not meet, causing it to get a total score of a 3/6.

Submission #2

Reporting Category Criteria Parameters Met Parameters NOT Met Student Score CB Score Comments
Program Purpose and Function Video
  • Input
  • Program Functionality
  • Output
Written Response
  • Describes the overall program purpose
  • Describes the overall program functionality
  • Describes the input and output of the program
Video
The video showed an input (1) (text entry) which resulted in the running of the program (2), which is a puzzle related game. The video showed the resulting output (3) of the blank spaces showing up and the number of lives left for the user based on the number of times they had guessed incorrectly.
Written In the written response, the program purpose (1) is described as providing a game to help you learn new words to expand your vocabulary. This was written explicitly and non-vaguely. The program functionality (2) is described as showing the user inputting letters and the program either outputting the correct guess or showing that the user had lost a life for guessing the wrong letter. Finally, the written response explicitly talks about the user's input and the program's output, as it says, "...shows the user inputting the letter "p" and the program outputting the letter in the spot". The written response also talks about how in general (not just in the video example), the user can input numbers, symbols, or multiple letters in one guess.
All parameters were met. 1 1 No discrepancies.
Data Abstraction Written Response
  • Includes two program code segments, one showing data stored in a list and the other showing the data in the list being used for the program's purpose
  • Identifies name of variable representing the list
  • Describes what data in the list represents in the program
In the first snippet of the program code segment, it shows data being stored in a list (guessingWord) (1), and the second program code segment shows how that list is being called in a "for" statement to help the program check if the user's input matches the variable letter from the list. The name of the variable representing the list is shown and written as "letOfGuessWord" (2), and following the two program code segments, the written response explains the data that is in the list (individual letters of the word the user is trying to guess) (3). All parameters were met. 1 1 No discrepancies.
Managing Complexity Written Response
  • Includes a program code segment showing a list to manage program's complexity
  • Explains how the named, selected list manages complexity by explaining why the program code couldn't be written or how it would be written differently without using the list.
In the written response, the program code segment is shown which helps to manage the program's complexity, which is by storing every letter of the word that the user has to guess. This segment goes through each letter of the word in the list and determines the full length of the word, and this allows for the program to handle words with a larger number of characters (more complexity with an easy list utilization) (1). The written response also explicitly talks about how the data in the list is "vital" to the program, and how the program without the letOfGuessWord list would become very inefficient, as each letter of the word the user has to guess would have to become its own separate variable, therefore making the utilized for loop much more complicated (2). All parameters were met. 1 1 No discrepancies.
Procedural Abstraction Written Response
  • Includes two program code segments, one showing a student developed procedure with at least one parameter impacting program functionality and another showing where that procedure is being called.
  • Describes what the identified procedure does and how it contributes to overall program functionality
The written response shows the guessWords procedure in one program code segment with a parameter impacting the program's functionality, and in the other code segment, it shows the guessWords procedure being called by the onEvent parameter (1). Following the two code segments, the written response talks about how this function works, which is by comparing the letters of the word the user is trying to guess with the letter that the user is inputting, and how the function either takes a life away for guessing the wrong letter or outputting the letter if it is correct. All parameters were met. 1 1 No discrepancies.
Algorithm Implementation Written Response
  • Includes a program code segment of a student-developed algorithm that includes sequencing, selection, and iteration.
  • Explains with detailed steps how the algorithm works so that even someone else could recreate it.
The student-developed algorithm, titled "guessWords", is pictured in a program code segment in the written response which also contains sequencing, selection, and iteration (1). Furthermore, in section 3. c. iv, the student THOROUGHLY explains how that program code segment works and how the guessWords algorithm works specifically, and I really felt that based on the quality of the explanation, I would be able to recreate it (2). All parameters were met. 1 1 No discrepancies.
Testing Written Response
  • Describes two calls to the selected procedure identified in written response 3c. Each call must pass a different argument causing a different piece of code in the algorithm to execute.
  • Describes the condition(s) tested by each call to the procedure.
  • Identifies the result of each call.
The written response describes the two calls to the procedure, the first with a user input "1" and the word that the user trying to guess being "hello", and the second call with the user inputting the letter "h" when the word the user is trying to guess is "hello" again (1). Following this, the written response explicitly states the conditions being tested by each call to the procedure, which is from line 49 in the student's program, where the if statement is comparing the user input to all the letters from the randomly-generated word "hello" (2). Finally, the written response identifies the result of each of the calls, and the results seem to be accurate. All parameters were met. 1 1 No discrepancies.

This CPT submission was outstanding. It thoroughly met all of the criteria and standards set up by College Board, and it didn’t require the reader to have to dig deep to find out where they satisfied each of the criterion for each of the 6 sections.

SUBMISSION #3

Reporting Category Criteria Parameters Met Parameters NOT Met Student Score CB Score Comments
Program Purpose and Function Video
  • Input
  • Program Functionality
  • Output
Written Response
  • Describes the overall program purpose
  • Describes the overall program functionality
  • Describes the input and output of the program
Video
The video showed the program functionality (2), and it showed how the input was found with a dropdown bar of the names of the states, and the output was the picture of the state flag coupled with facts about the state (1, 3).
Written Response
The written response talks about how the program purpose is to provide the user with information about the US states, and how it is mainly to help with memorization or to learn something new (1). The program functionality is described (2) as the user selecting whichever US state they would like to learn more about, and being shown a screen with all of the information and statistics about the chosen state. Finally, the written response explicitly write about the input and output of the program, the input being what the user selects from the dropdown menu and the output being the screen showing the state flag and information based on that input.
All parameters were met. 1 1 No discrepancies.
Data Abstraction Written Response
  • Includes two program code segments, one showing data stored in a list and the other showing the data in the list being used for the program's purpose
  • Identifies name of variable representing the list
  • Describes what data in the list represents in the program
The name of the list is shown as "stateList" (2). The data in the list is written to represent all of the information the user will see (output) based on the state that they select (3). There are NOT two program code segments relating to the list, there is only one program code segment showing the data in the list, but there is no shown code segment which shows the data in the list being used for the program's purpose. 0 0 According to the CB scoring, the 3rd criterion (describing what data in the list represents in the program) was also not met, contrary to what I thought. CB saw that the description of the list provided in the written response was inaccurate, as it only represents the state name, not the output given on the screen as it stated.
Managing Complexity Written Response
  • Includes a program code segment showing a list to manage program's complexity
  • Explains how the named, selected list manages complexity by explaining why the program code couldn't be written or how it would be written differently without using the list.
The written response has a program code segment showing the list to manage the program's complexity (1). The written response does not go into depth explaining HOW the list manages complexity or how the program would specifically work without the list. The written response talks about how everything would be "complex" and "take a long time", which does not give any insight to the reader, therefore not meeting this criterion. 0 0 No discrepancies.
Procedural Abstraction Written Response
  • Includes two program code segments, one showing a student developed procedure with at least one parameter impacting program functionality and another showing where that procedure is being called.
  • Describes what the identified procedure does and how it contributes to overall program functionality
There is a program code segment with the updateScreen procedure. There is no parameter impacting program functionality shown in the written response. The second program code segment does not show the updateScreen procedure being called. The written response does not talk about how the procedure actually contributes to the overall program functionality, and whatever explanation the student provided was very general. 0 0 No discrepancies.
Algorithm Implementation Written Response
  • Includes a program code segment of a student-developed algorithm that includes sequencing, selection, and iteration.
  • Explains with detailed steps how the algorithm works so that even someone else could recreate it.
The updateScreen student-developed algorithm is shown in a program code segment, and it includes sequencing and selection. The written response also talks about how updateScreen contributes to the overall program functionality, saying that it uses elif statements with the algorithm working through these statements to find if the state matches with the user input. There is no iteration incorporated with the updateScreen algorithm in the shown program code segment. 0 0 Contrary to what I thought, CB found that the explanation regarding what the procedure does and how it contributes to overall program functionality was "partial", and that the response does not talk about the index value being set based on the value for each US state in the dropdown menu.
Testing Written Response
  • Describes two calls to the selected procedure identified in written response 3c. Each call must pass a different argument causing a different piece of code in the algorithm to execute.
  • Describes the condition(s) tested by each call to the procedure.
  • Identifies the result of each call.
Each of the calls passes a different argument causing a different program code segment to execute. The written response only talks about calls FROM the stateInput procedure, not TO the stateInput procedure. Furthermore, the explanation for the "conditions" are not really the conditions being tested by the call, they are just things that the user is doing on the program. Finally, the result of each call is not identified properly. 0 0 No discrepancies.

Overall, this CPT project submission earned a 1/6, which isn’t too good. It hit some criterion here or there throughout, but it never met all of the requirements besides in the first category, resulting in this project’s 1/6.

Submission #4

Reporting Category Criteria Parameters Met Parameters NOT Met Student Score CB Score Comments
Program Purpose and Function Video
  • Input
  • Program Functionality
  • Output
Written Response
  • Describes the overall program purpose
  • Describes the overall program functionality
  • Describes the input and output of the program
Video
The video shows the program being run, as in the program functionality (2), and it shows the user's input and output (1, 3) as the user pressing keys, and the output being the movement of the boat and the user's score based on the keys that the user is pressing.
Written Response
The written response talks about the overall program purpose being to make people less bored by simulating a fishing game which tracks the user's score (1), and describes the overall program functionality as the fishing gameplay with the boat movement and how the hook and scorekeeping works in the game (2). Finally, the user input and output is described, with the input being the keys that the user is inputting, and the output being the movement of the boat based on those inputs (3).
All parameters were met. 1 1 No discrepancies.
Data Abstraction Written Response
  • Includes two program code segments, one showing data stored in a list and the other showing the data in the list being used for the program's purpose
  • Identifies name of variable representing the list
  • Describes what data in the list represents in the program
The written response shows two program code segments, one of the code segments showing the list fishTypes, and the other program code segment showing that fishTypes list being used for the program's purpose (when I receive End statement) (1). The name of the variable representing the list is identified to be fishTypes (2), and the written response describes that the fishTypes list represents the amount of fish that have been caught (3). All parameters have been met. 1 1 No discrepancies.
Managing Complexity Written Response
  • Includes a program code segment showing a list to manage program's complexity
  • Explains how the named, selected list manages complexity by explaining why the program code couldn't be written or how it would be written differently without using the list.
There is a program code segment shown in the written response which shows the fishTypes list being used to manage the program's complexity (1). Then, there is an explanation about how fishTypes manages the program's complexity by keeping all of the data in "one easy list", and how without the list, the program would have to store multiple variables for each fish and each separate amount of fish that have been caught, and this would be "unnecessarily longer" and more tedious (2). All parameters were met. 1 1 No discrepancies.
Procedural Abstraction Written Response
  • Includes two program code segments, one showing a student developed procedure with at least one parameter impacting program functionality and another showing where that procedure is being called.
  • Describes what the identified procedure does and how it contributes to overall program functionality
There are two program code segments, one showing the student-developed procedure "clone+movement+range" with multiple parameters impacting program functionality. There is another program code segment where this procedure is being called (1). Furthermore, the response talks about what this procedure does and how it functions within the program, and how it contributes to overall program functionality by making it harder to catch a fish sprite with the hook, since because of the procedure, it moves in random spurts at different heights and speeds (2). All parameters were met. 1 1 No discrepancies.
Algorithm Implementation Written Response
  • Includes a program code segment of a student-developed algorithm that includes sequencing, selection, and iteration.
  • Explains with detailed steps how the algorithm works so that even someone else could recreate it.
The written response includes the student-developed algorithm, "clone+movement+range", which includes sequencing, selection, and iterations (1). Furthermore, there are detailed steps about how the algorithm works, describing that the clone moves to a random position, causing the loop to begin until it touches the hook or until the game ends. There is an additional elif statement within this which causes the clone to revert back to a position based on if it touches the edge of the user's screen (2). All parameters were met. 1 1 No discrepancies.
Testing Written Response
  • Describes two calls to the selected procedure identified in written response 3c. Each call must pass a different argument causing a different piece of code in the algorithm to execute.
  • Describes the condition(s) tested by each call to the procedure.
  • Identifies the result of each call.
There are two "calls" which are identified based on the procedure. The conditions being tested by each call to the procedure are present (2). There are no "different arguments" which are being passed which execute different pieces of code in the algorithm (1). The result of each call is not identified in the written response (3). 0 0 No discrepancies.


Overall, this was a very good CPT submission, as it met all of the criterion to great depth besides the testing section. A 5/6 is a good score, and with a bit more depth and accuracy in the testing section, this would have been a 6/6 project.