Course web page: Introduction to Computer Science for majors II James Tam Return to the course web page

CPSC 233: Assignment 3 (Marking Key)

    Your score Max score

Coding style (marks independent of program functionality)

   
 
  • Appropriate use of white space (source code)
  2
 
  • Self-documenting naming conventions
  3
 
  • Boolean and mathematical expressions are simple and easy to read
  3
 
  • Each method implements one well defined task
  4
 
  • Functions/methods don't exceed one screen size in length ~ 30 lines of code (excludes whitespace and documentation)
  2
 
  • Class Entity does not consist of at least 3 methods
  -3
 
  • Class World does not consist of at least 3 methods
  -3
 
  • Class attributes not logical to the definition (e.g., not variables that are just local to a function or method but belong to each instance)
  -4
 
  • Static variables employed (unless otherwise allowed)
  -4
 
  • The code for the 3 classes are not included in its own file.
  -9 (-3 each)
 

Sub total

 

14

Documentation (marks independent of program functionality)

   
 
  • Header documentation includes full name and tutorial section
  2
 
  • Some form of versioning system is demonstrated in the header documentation
  1
 
  • Each function/method is documented (similar to documentation for the entire program but applies only to that function/method). (Min. of 9 methods that need to be documented)
  9
 
  • Program limitations documented
  1
 
  • Program features documented (for each feature you need to clearly indicate if it has or has not been implemented in the final version that you hand in
  16
 

Sub total

 

29

Functionality (only qualify for these marks if the program runs: note some features obviously requires other features to be implemented before credit will be granted)

   
 
  • Runs on a turn-by-turn basis
  1
 
  • Prompts the user at the end of each turn before proceeding to the next turn
  1
 
  • Orcs move in the prescribed fashion
  6
 
  • Dwarves move in the prescribed fashion
  6
 
  • Orcs won't move past the bounds of the world
  4
 
  • Dwarves won't move past the bounds of the world
  4
 
  • Orcs stop moving when adjacent to a dwarf
  8
 
  • Dwarves stop moving when adjacent to a dwarf
  8
 
  • Correct and complete round-by-round statistics displayed
  8
 
  • Orcs will randomly attack adjacent dwarves (damage range is correct)*
  8
 
  • Dwarves will randomly attack adjacent orcs (damage range is correct)*
  8
 
  • Orcs will be removed from the world when hit points are zero or less*
  6
 
  • Dwarves will be removed from the world when hit points are zero or less*
  6
 
  • Program can determine when all the opponents on one side or the other (or both) have been eliminated and end the simulation*
  12
 
  • The output of the program is graphical rather than using text
  6
 
  • Program employs sound effects to enhance game play
  4
 

Subtotal

 

96

Design requirements (may modify the raw score)

   
 
  • Implements static methods (other than 'main()')
Divide functionality marks by two1
 
  • Program consists of only one class (style marks will also be lost)
Divide functionality marks by two1
 
  • Functionality not assigned to the appropriate class as specified in the assignment description (e.g., the attacker implements a task that belongs to the defender).
Max loss of 8 marks to functionality (tallied after the above two modifiers, if applicable)

OVERALL ASSIGNMENT RAW TOTAL

 

139

GRADE POINT

 

4.3

 

1 These two penalties are cumulative so if a program was written using only one class and was full of static methods then the student's program functionality mark would quartered.

Min raw score GPA
0 0
20 0.7
30 1
36 1.3
38 1.4
40 1.5
42 1.6
44 1.7
46 1.8
48 1.9
50 2
52 2.1
54 2.2
56 2.3
58 2.4
60 2.5
62 2.6
64 2.7
66 2.8
68 2.9
71 3
74 3.1
77 3.2
80 3.3
85 3.4
90 3.5
95 3.6
100 3.7
105 3.8
110 3.9
115 4
120 4.1
124 4.2
129 4.3