Sample 1
| Catergory | Score |
|---|---|
| Purpose | 0 |
| Data Abstraction | 1 |
| Managing Complexity | 0 |
| Procedural Abstraction | 0 |
| Algorithm Implementation | 0 |
| Testing | 1 |
| Total | 2/6 |
The video and the written response do not demonstrate a creative purpose but merely restating the function of the program. The Input and the Output os also not clearly seperated in the purpose, giving it a 0. Data abstraction is apparent with the effective use of lists. The Code is not complex, and the response does not explain why it was complex. The algorithm of the evaluateGuess function uses the variable guess, but it is also used outside of the funciton. The response does not indicate why the algorithm demonstrate complexity. The algorithm demonstrates iteration, sequencing, and selection, but its description is not clear enough for it to be replicated. However, the program did demonstrate testing, with one wrong answers and win conditions, as well as clear description of what's being tested.
After reviewing the Collgeboard scoring, I noticed that Data Abstraction was given a 0, I graded it a 1 because I had not noticed that there was an unused list. I will be on the lookout for anything like this in the future.
Sample 2
| Catergory | Score |
|---|---|
| Purpose | 1 |
| Data Abstraction | 1 |
| Managing Complexity | 1 |
| Procedural Abstraction | 1 |
| Algorithm Implementation | 1 |
| Testing | 1 |
| Total | 6/6 |
The written response reflect a clear purpose and the video demonstrates it well. The written response demonstrates that information is stored in one list, without any overflowing of variables, and also shows how it is used. The code does a good job with managing complexity here, with the use of wordlist to manage the words and use them. The program clearly shows a procedure and how it is used well. The procedure shows sequencing, selection(if), and iteration(while), and includes a detailed explanation of the procedure enough to recreate it from just the description. The program describes in detail what both testing sequences is used for and what happens in the program as those were run. All of this combined gives it a perfect score with 6/6
My evaluation is the same as collegeboard's.
Sample 3
| Catergory | Score |
|---|---|
| Purpose | 0 |
| Data Abstraction | 1 |
| Managing Complexity | 1 |
| Procedural Abstraction | 1 |
| Algorithm Implementation | 1 |
| Testing | 1 |
| Total | 5/6 |
The written response did not state the purpose but merrly stated the functionality of the program. The written response indicated that variables are stored in one list and that it's being used properly. The program does a nice job with managing complexity with its list to store the numbers and using them. The procedure is demonstrated well and suits the program's purpose. The procedure also have sequencing, selection(if-else if-else), and iteration(for), and includes a instruction detailed enough to replicate it from the description. The program describes in detail what both testing sequence is used for and why is the results intended. Only the purpose is lacking with a score of 5/6
My evaluation is the same as collegeboard's
Sample 4
| Catergory | Score |
|---|---|
| Purpose | 1 |
| Data Abstraction | 0 |
| Managing Complexity | 0 |
| Procedural Abstraction | 1 |
| Algorithm Implementation | 1 |
| Testing | 0 |
| Total | 3/6 |
The written response correctly indicated the purpose of the program instead of the functionality. The response shows how the data is stored but not how it is used, putting it off of the data abstraction method. The list mentioned did not help to manage complexity, only acting as a counter. The procedure uses a parameter and is used to complete parts of the procedure. The Algorithm has sequencing, selection(if) and iteration(repeat), and it describes the algorithm in enough detail to replicate it from scratch (pun not intended). The test cases are not explaned properly, with not the arguments but the conditions for each case.
My evaluation is the same as collegeboard's
Summary
Through these gradings, I learned of the following things.
- It is important for the response to state the greater purpose of the program, not the functionality
- All variables declared should be used in an effective way
- If there is a easier way to do something, do it
- The test cases should test how the program will respond to arguments, and not the conditions I'll keep these in mind as I do my performance task project.