Problem Scoring Rubric alawamhm bakerak chattoa chengh chenx5 clarkta corsojr debrotm evardl fettrogd frantotj georgenp gingerae gobens heiljt hud johnsocp kime2 labruyma liuy11 lovinsjl mac2 masonwd mulholbn neessc pareehgl paytonzk ponsotml robisoct ryanjf saadatda shaferw slavensr smithrs2 songw takagisr thriftcm tianzhx tomasir trubyan wangy16 watsoncj wilkinmj worcesac wul yangj3 yangj4 yodersp zhouy9 ziglermn problem1a Points available: 10 Not yet graded -10 -10 -10 Way off -2 Range is off by 1 -2 -5 "Range is wrong (that is, it is off by more than 1)" -5 -5 -2 Argument to is_perfect is off by 1 -2 -5 "Argument to is_perfect is wrong (that is, it is off by more than 1)" -5 Counting is wrong [but only -3 if the only error is failing to initialize to 0] -5 IF statement is wrong -5 Fails to return a value (or returns a wrong value with all else correct) -3 1 unnecessary special case -5 2 or more unnecessary special cases -5 -1 "Wrong answer in a special case that no test uncovered (but a test in 1b DID uncover it, sort of)" -1 -1 Range is larger than necessary -1 0 See me re: Never reasssign a parameter 0 0 See me re: uses sum as a variable name 0 "See me re: Uses uninformative variable names (that is, names that fail to suggest their purpose). (Note: loop variables that are single letters are fine.)" 0 0 See me re: Poor choice of variable name for returned value from is_perfect 0 0 See me re: Uses variable names that begin with an upper-case letter (bad) or use camelCase (violates style) 0 0 "See me re: Choosing names, balancing clarity and brevity" 0 0 "See me re: Choosing names, no need to avoid names in other functions (see 1b)" 0 0 See me re: extra blank lines 0 0 See me re: No blank lines between function definitions 0 0 0 See me re: unnecessary ELSE clause 0 0 0 See me re: assignment that does nothing 0 0 0 0 See me re: any other warning message 0 See me re: unnecessary parentheses in IF statement 0 0 0 0 0 0 0 0 See me re: wildly unnecessary parentheses 0 Your PyDev settings are not PyDev120 settings. That is causing you to violate many of our code standards. See me so that I can help you fix this (it's easy). 0 "See me re: overuse of internal comments, and why that may be bad" 0 See me re: You used IS correctly. Do you know when you must NOT use IS? 0 0 0 0 See me re: unwise to treat True as 1 and False as 0 0 0 0 See me re: unnecessary is True 0 0 0 0 See me re: unnecessary == True 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 See me re wrongly testing preconditions 0 0 See me re: Points earned (of 10) on problem1a 10 5 10 10 10 10 10 10 10 10 10 10 10 10 10 4 10 10 10 10 10 10 6 10 10 10 10 5 10 10 10 9 10 10 10 10 10 10 10 0 10 10 10 10 10 10 10 10 10 0 problem1b Points available: 3 Not yet graded -3 -3 -3 Fails to call problem1a -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -2 Calls problem1a but is slightly wrong 0 See me re: solution fails tests! 0 0 0 "See me re: warning message, statement has no effect" 0 Points earned (of 3) on problem1b 0 0 0 0 0 0 0 0 3 0 0 0 3 0 0 3 0 3 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 3 0 0 testProblem1c Points available: 7 Not yet graded -7 -7 -7 "Has no tests of their own. [A call to problem1c whose expected result is NOT shown is NOT a test, nor is one whose expected answer could not have been computed except by running the program.]" -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -5 "Has only 1 real test of their own (their other test may or may not be real). [A call to problem1c whose expected result is NOT shown is NOT a test, nor is one whose expected answer could not have been computed except by running the program.]" -5 -5 -5 -5 -5 -5 -5 -5 -5 -3 "Has only 1 test of their own (an oversight?). [A call to problem1c whose expected result is NOT shown is NOT a test, nor is one whose expected answer could not have been computed except by running the program.]" 0 "Don't put code ABOVE the green doc-string. That will cause the DOT trick to fail sometimes. Instead, just minimize the green doc-string. See me for details." 1 Used Excel to calculate test cases and noted so. 1 0 "See me for why saying ""approximately"" is wrong here." 0 See me re: Points earned (of 7) on testProblem1a 7 7 0 0 7 7 7 7 7 7 7 7 7 7 2 0 7 2 7 0 0 2 2 7 7 7 2 7 7 7 2 7 2 2 0 8 7 0 7 0 0 7 7 7 2 7 0 7 0 0 problem1c Points available: 10 Not yet graded -10 -10 -10 Way off -5 -2 Range is off by 1 -1 Wrongly includes 0 (whose reverse is 0) in the total. -1 -1 -1 -1 -1 -1 -1 -1 -5 "Range is wrong (that is, it is off by more than 1)" -3 -2 Argument to reverse_number is off by 1 -5 "Argument to reverse_number is wrong (that is, it is off by more than 1)" -5 Summming is wrong [but only -3 if the only error is failing to initialize to 0] -5 Fails to return a value (or returns a wrong value with all else correct) -5 "Misunderstood the problem, it seems, but test cases should have clarified it." -5 0 See me re: Never reasssign a parameter 0 0 See me re: uses sum as a variable name 0 "See me re: Uses uninformative variable names (that is, names that fail to suggest their purpose). (Note: loop variables that are single letters are fine.)" 0 0 See me re: Uses variable names that begin with an upper-case letter 0 0 See me re: Using an auxiliary variable vs using the loop variable 0 0 See me re: extra blank lines 0 See me re: statement has no effect 0 0 See me re: any warning message 0 See me re: unwise to treat True as 1 and False as 0 0 "See me re: going down instead of up is fine, but perhaps it obscures? In any case, be sure you know what you are doing!" 0 0 0 See me re: why you should NOT test whether m <= n (or whether m and n are positive) and you MUST NOT print anything 0 "Nice internal testing. See me re leaving behind testing code (it is fine with me, but some would complain if in production code)." 0 See me re: Points earned (of 10) on problem1c 10 9 10 10 10 10 10 10 10 10 9 10 10 10 10 10 10 10 9 10 10 10 10 10 10 10 9 5 10 10 10 9 9 9 10 10 10 10 10 0 10 10 10 10 10 9 2 10 10 0 problem2 Points available: 16 Not yet graded -16 -16 -16 Way off -16 -12 "Fails to use the parameters (instead, uses a particular rectangle)" -4 Given rectangle does not appear -2 Uses a tuple where an rg.Line or rg.Point is required -3 Otherwise fails to construct new rectangles correctly -3 -3 -3 -3 -2 "For locations, fails to deal with opposite corners correctly" -3 Wrong locations for all 4 other rectangles -3 -3 -3 -3 -2 Wrong locations for 2 or 3 other rectangles -2 -1 Wrong location for 1 other rectangle -3 Wrong sizes for all 4 other rectangles -3 -3 -3 -2 Wrong sizes for 2 or 3 other rectangles -1 Wrong sizes for 1 other rectangle -3 Wrong outline color for all 4 other rectangles (should be fill color of given rectangle) -3 -3 -3 -3 -2 -2 Wrong outline color for 2 or 3 other rectangles -1 Wrong outline color for 1 other rectangle -1 Fails to attach 1 item -2 Fails to attach more than 1 item -2 Fails to render the window (or renders at a wrong point) -2 -4 Draws extra items -4 Uses a loop needlessly -1 Returns a value (other than None) 1 Nice use of clone and move_by 1 1 Particularly nice use of internal comments 1 0 "See me re: If you use side effects not called for by the problem (e.g., printing things), be sure to comment them out from your final solution." 0 0 Has continue_on_mouse_clicks (where none were specified) 0 See me re: any warning message 0 0 See me re: Uses variable names that begin with an upper-case letter (bad) or use camelCase (violates style) 0 See me re: Break long lines at commas 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 See me re: Judicious use of white space can help clarify code. 0 0 0 0 0 0 0 0 0 0 0 0 See me re: How to organize your loop better. 0 0 See me re: Use render(NUMBER) and/or multiple renders only when you want animation. 0 0 0 0 0 "See me re: Abuse (maybe) of elif and <=, also dangerous (maybe) use of flags, also how lists could clarify your solution (maybe)." 0 0 See me re: using line and lion as variable names is asking for trouble! Note to self: Conostructing squares instead of rectangles is fine. Also fine to attach the original rectangle last (which causes its outline to overwrite the outlines of the other rectangles). 0 See me re whether circle.center.x is clearer than making various local variables. 0 See me re: Points earned (of 16) on problem2 16 16 4 16 16 17 16 16 16 4 16 16 16 16 16 14 17 16 16 16 5 16 16 16 16 16 16 4 16 16 16 16 16 14 16 16 16 16 16 0 16 16 16 16 16 16 0 16 16 0 problem3 Points available: 20 Not yet graded -20 -20 -20 Way off -20 -15 "Fails to use the parameters (instead, uses a particular x, y, n or color)" -2 Fails to make a RoseWindow -2 Range is off by 1 -2 -2 -2 -2 -3 Locations of items are slightly wrong -3 -3 -3 -3 -10 Locations of items are wrong (more than slightly wrong) and/or the wrong number of items appear (more than off-by-one) -10 -6 -6 -4 Constructs Rectangles instead of Squares -4 -4 -4 -4 -4 -4 -4 -4 -2 Circle and/or Square sizes are wrong (but not unreasonable) -2 -2 -2 -4 No correct Squares constructed -4 -4 No correct Circles constructed -4 Color of circles are wrong -4 -4 -4 -4 -2 Fails to render the window (or renders at a wrong point) -2 Fails to wait for mouse click -2 -3 Draws extra items (other than extra lines) -2 Fails to attach things correctly -2 -1 Returns a value (other than None) 0 See me re: How you can avoid the special case for k=0. 0 0 See me re: Judicious use of white space can help clarify code. 0 0 0 0 0 See me re: Break long lines at commas 0 0 See me re: Use render(NUMBER) and/or multiple renders and/or render INSIDE a loop only when you want animation. 0 0 0 0 0 0 0 0 0 0 0 "See me re: If you use side effects not called for by the problem (e.g., printing things), be sure to comment them out from your final solution." 0 0 See me re: Curious title for your RoseWindow. Why? 0 0 See me re: Overuse of parentheses 0 0 See me re: Should be CLOSE_on_mouse_click. Do you understand why? 0 0 See me re: Use PLURAL names only for SEQUENCES. 0 0 See me re: How you constructed rg.Circles. IMPORTANT! 0 0 See me re: Draws the same line more than once 0 See me re: Attaches the points INSIDE the loop (which is inefficient) 0 See me re: any warning message 0 0 0 See me re: Uses variable names that begin with an upper-case letter (bad) or use camelCase (violates style) 0 See me re: How best to handle time issues on future tests. 0 See me re: Thanks for the comment on problem 3. It saved you 3 points (would have been -6 without the comment). 0 See me re: When to render INSIDE the loop and when AFTER the loop. 0 See me re: Using underscore as a variable INSIDE the loop 0 "See me re: overuse of internal comments, and why that is bad" 0 See me re: NEVER reassign a parameter to a new value. It bit you here! 0 "See me re: Avoid expressions like 1 * k that can be written more simply (here, just k)." 0 See me re: Points earned (of 20) on problem3 20 20 0 20 20 20 17 20 20 10 20 20 20 20 20 11 20 20 14 16 18 16 14 16 20 16 17 4 13 20 14 20 20 20 16 16 20 20 18 0 20 20 20 20 20 20 10 20 20 0 Total (of 66) on the on-the-computer part of the test 63 57 24 56 63 64 60 63 66 41 62 63 66 63 58 42 64 61 56 52 43 54 48 59 63 59 57 25 56 63 52 61 57 55 52 63 63 56 61 0 56 63 63 63 58 62 22 66 56 0 Total (of 34) on the paper-and-pencil part of the test 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Total (of 100) on the test 63 57 24 56 63 64 60 63 66 41 62 63 66 63 58 42 64 61 56 52 43 54 48 59 63 59 57 25 56 63 52 61 57 55 52 63 63 56 61 0 56 63 63 63 58 62 22 66 56 0 Time for paper and pencil part Time for entire exam (of 120 + 30 grace = 150)