| Computer Science I for majors by James Tam |
| Max score | ||
Coding style (marks may be awarded independent of program functionality) |
||
|
Follows basic
style conventions which includes: good naming conventions, easy to
under stand code, using named constants, good error handling,
(Never = 0 marks) (Sometimes = 2 marks) (Mostly = 6 marks) (Always = 8 marks) |
8 | |
| Class attributes are logical to the definition (e.g., not variables that are just local to a function or method but belong to each instance) | 2 | |
| Penalty: Boolean and mathematical expressions are not simple and easy to read | -4 | |
| Penalty: gross inefficiencies in program code (e.g., duplicated program code via cut and paste) | -4 | |
| Penalty: global variables employed (other than the debugging flag or flags) | -4 | |
| Class Pursuer does not consist of at least three methods (init(), a method to generate the report and 1+ methods to generate an interaction | -4 | |
| Class Target does not consist of at least two methods (init() and a method to generate the report | -4 | |
| The definition of class Pursuer does not include all the minimum attributes specified in the assignment description | -2 | |
| The definition of class Target does not include all the minimum attributes specified in the assignment description | -2 | |
| The Manager module contains at least two functions | -4 | |
| The code for the 2 classes and the manager functionality is not included in its own module (and in the correct module) | -9 (3 each) | |
| Special penalty: employ classes and objects 1.7 regardless of other style, documentation or functionality marks | ||
Sub total for style |
10 |
|
Documentation (marks may be awarded independent of program functionality) |
||
| Header documentation: contains overall description of program. | 3 | |
| Header documentation: demonstrates some form of versioning system employed (date or version #) | 1 | |
|
Provides an accurate list of features / limitations (functionality not implemented) in the program (1 marks for each feature listed as completed or as not completed x 14 features listed below). Miscategorizations or other inaccuracies will not be awarded marks. |
14 | |
| Penalty: Name, ID and tutorial section not included in the header documentation | -6 | |
Sub total for documentation |
18 |
|
Functionality (only qualify for these marks if the program runs) |
||
| Prompts user for the number of interactions (that the date will consist of) | 1 | |
| Runs for the specified number of interactions | 1 | |
| Prompts user for the probability of type 'x' interactions exhibited by the Target | 1 | |
| Error handling: range checks that the no. of interactions >= 1 | 1 | |
| Error handling: type checks the no. of interactions, uses exceptions to handle non-numeric or non-integer values as specified in the assignment | 2 | |
| Error handling: range checks that the probability of 'x' interactions is within the range: 0 <= P(x) <= 100 | 2 | |
| Error handling: type checks the probability of 'x' interactions, uses exceptions to handle non-numeric or non-integer values as specified in the assignment | 2 | |
| Class Target: Randomly generates type 'x' or type 'y' interactions (equal probability for each) | 2 | |
| Class Pursuer: Randomly generates type 'x' or type 'y' interactions (equal probability for each) | 2 | |
| Class Pursuer: Can determine the result of each interaction | 2 | |
| Class Pursuer: Displays 3 required statistics (must be correct) after each interaction has occurred | 3 | |
| Class Target: Generates type 'x' or type 'y' interactions based on the user entered probabilities | 4 | |
| Class Pursuer can modify behaviors according to the target's past behavior | 8 | |
| Class Pursuer: Displays the 7 required statistics at the end of the simulation | 7 | |
| Sub total |
38 |
|
OVERALL ASSIGNMENT TOTAL |
67 |
|
Maximum grade point for assignment |
4.0 |
|
| Min score | Grade point |
| 66 | 4.0 |
| 65 | 3.9 |
| 64 | 3.8 |
| 63 | 3.7 |
| 62 | 3.6 |
| 61 | 3.5 |
| 60 | 3.4 |
| 59 | 3.3 |
| 58 | 3.2 |
| 57 | 3.1 |
| 56 | 3.0 |
| 55 | 2.9 |
| 54 | 2.8 |
| 53 | 2.7 |
| 52 | 2.6 |
| 51 | 2.5 |
| 50 | 2.4 |
| 48 | 2.3 |
| 46 | 2.2 |
| 44 | 2.1 |
| 42 | 2.0 |
| 40 | 1.9 |
| 38 | 1.8 |
| 36 | 1.7 |
| 34 | 1.6 |
| 32 | 1.5 |
| 30 | 1.4 |
| 28 | 1.3 |
| 26 | 1.2 |
| 24 | 1.1 |
| 22 | 1.0 |
| 20 | 0.7 |
| 0 | 0 |