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 |