CS 115 Project 3 FULL Grading Sheet
Correctness and Creativity (55 points)
5 pts. |
Correctly creates the starting deck and discard lists |
5 pts. |
Correctly deals initial hands to human and computer |
5 pts. |
Correctly updates deck when the top deck card is chosen |
5 pts. |
Correctly updates discard pile when the top discard card is chosen |
5 pts. |
Correctly updates hand when a card is replaced |
5 pts. |
Correctly creates the new deck and discard pile, when deck gets empty |
5 pts. |
Correctly checks for Racko |
20 pts. |
Computer's logic has been improved by replacing random components and upgrading the logic. |
Programming Style (25 points)
Docstring (3 points)
[3] |
There is a docstring at the top of the submitted file with
your name (first and last), the course (CS 115) and assignment (Project 3), and a brief description of the
program. |
-1 | Missing name |
-1 | Missing or wrong course and/or assignment |
-1 | Missing or wrong description |
Usage of functions (7 points)
[7] |
Program is broken up into logical, well-defined functions.
Functions perform specific, well-defined jobs and have descriptive names.
Functions are no more than 20 lines of code (not counting comments). |
-2 | Minor lapses |
-4 | Major flaws |
-7 | Program does not have student-written functions |
Function parameters and return values (3 points)
[3] | Functions have no more parameters than necessary to do their jobs.
Return values are used appropriately. |
-1 | Minor flaws |
-2 | Major flaws |
-3 | Program does not have student-written functions |
Function documentation (3 points)
[3] |
Each function includes a docstring explaining the job it does, its input parameters,
its return value, and any assumptions it makes about its inputs. See proj2_support_code.py for examples. |
-1 | Minor lapses |
-2 | Some functions do not have comments, or comments do not contain the required info |
-3 | Most functions do not have comments |
Other documentation (5 points)
Not counting the docstrings for your program and functions, your program should contain at least five comments
explaining aspects of your code that are potentially tricky for a person reading it
to understand. You should assume that the person understands what Python syntax means
but may not understand why you are doing what you are doing.
5 pts. |
You have at least 5 useful comments (1 point each) |
Variable declarations and naming (4 points)
[4] | All variables have descriptive names that indicate what they
are used for |
-2 | Variable declarations uncommented |
-2 | Variable names do not indicate what the variable is used for |
Catchall
You will lose 5 points for having ANY statements outside of a function definition. There are
only three exceptions to this rule:
- Import statements
- Definition of constants (variables whose values are known before the program runs and never modified)
- The call to main
For students using language features that were not covered in class, up to 5 points may be taken off if the principles of programming style
are not adhered to when using these features. If you have any questions about what this means, ASK!