CSC 111 Final Rubric ------------------------------------------------------------------------------------------------------ Part 1 ------------------------------------------------------------------------------------------------------ (a) 5 got 5-6 correct (1 pt for each correct answer) (b) 8 got all 8 correct (1 pt for each correct answer) (c) 2 got 3-4 correct 1 got 1-2 correct (d) 3 (1 pt for identifying the error, 2 pts for correcting with variable name changes) 2 no variable name changes but correct error, or correct changes but incorrect error identified 1 error not corrected (e) (i) 2 correct explanation (ii) 3 got 5-6 entries correct 2 got 3-4 entries correct 1 got 1-2 entries correct (iii) 2 correct description of the error as well as correct code ------------------------------------------------------------------------------------------------------ Part 2 ------------------------------------------------------------------------------------------------------ (a) 5 correct code 4 minor error (variable name incorrect, etc) 3 all three variables but order or usage incorrect 2 had two variables in a good order, or used a for loop (b) 5 correct code (minor type issues okay) 4 used an adding variant that does not exist for dictionaries, but right idea 3 used an incorrect method for adding to a dictionary ------------------------------------------------------------------------------------------------------ Part 3 ------------------------------------------------------------------------------------------------------ (a) 5 output for all 5 print statements correct for these specific values 4 minor error (usually missing the last print statement) 3 mentioned final amount, but no intermediate printing + good analysis 2 no specific numbers mentioned, but good analysis of the code and and trying to withdraw too much 1 some work on the right track (b) 5 all five methods correct (no print or __str__ but other method that might be similar, okay) 4 missing one method or vague method (etc for 3,2,1,0) (c) 15 (3 points/method, 2 points for minor error, 1 point for major error or several minor errors) note: -2 for no way to tell the user if they are overdrawing, -3 for no __str__ method ------------------------------------------------------------------------------------------------------ Part 4 ------------------------------------------------------------------------------------------------------ (a) 2 correct answer (3) 1 incorrect answer (b) 13 (3 for draw, 12 for move) move: 2 points for updating y, 2 points for calling move correctly, 6 points for correct condition ------------------------------------------------------------------------------------------------------ Part 5 ------------------------------------------------------------------------------------------------------ (a) 3 correct answer (5) 2 Fibonacci number for n=3 or n=5, with work 1 other answer (b) 4 correct answer (9) with work 3 off by 1 (i.e. say 8 or 10 with good work) 2 other answer with work 1 other answer but work incomplete or not on the right track (c) 4 correct answer (5) with work 2 close answer with work, or correct answer with incorrect work 1 say the answer was 0,1,2 with incomplete work (d) 8 (4 for complete and correct table, -1 for issues in the third column, 4 for correct function) note: 3 for minor issue in function, 2 for recursion twice or other issue, 1 for no recursion) (e) 6 correct function using loops (using swapping, dictionaries, lists, etc) 5 minor error (off by 1 issue or swapping incorrectly) 4 correct idea about how to write the function, but missing some steps 3 good for loop method but incorrect (often adding up the wrong values somewhere) 2 had a good for loop set up but not much inside the loop 1 had a loop but not on the right track