Introduction to Computer Science II for non-majors by James Tam |
|
Actual mark |
Max |
|||||
Naming conventions | Poor -2 | Some poorly named identifiers +0 | Good and clear throughout +2 | 2 | |||
Code layout (alignment, formatting, whitespace) | Very cluttered, no whitespace -2 | Slightly too much/too little +0 | Appropriate use of whitespace: +2 | 2 | |||
Program output layout | Very cluttered, no whitespace, formatting -2 | Slightly too much/too little +0 | Appropriate use of whitespace: +2 | 2 | |||
Appropriate use of named constants | 1 | ||||||
Each method implements one well defined task | Never -4 | Seldom +1 | Sometimes +2 | Usually +3 | Always +4 | 4 | |
Each class (save the Driver) consists of at least 3 methods | Never -4 | Seldom +1 | Sometimes +2 | Usually +3 | Always +4 | 4 | |
Each method doesn't exceed a screen size in length, 40 lines | Never -4 | Seldom +1 | Sometimes +2 | Usually +3 | Always +4 | 4 | |
TOTAL: STYLE | 19 | ||||||
|
|
|
|
|
|
|
DOCUMENTATION1 |
|
||
|
Actual mark |
Max |
|
Header documentation. 'Driver' class (Program limitations) | 1 | ||
Header documentation. 'Driver' class (Program versioning) | 1 | ||
Header documentation. 'Driver' class (Assignment features implemented) | 8 | ||
Header documentation. All classes other than the Driver | 4 | ||
Missing contact information in submission (name and student number). Other marks will be granted only if we can determine authorship | -4 | ||
TOTAL: DOCUMENTATION | 14 | ||
PROGRAM DESIGN1 |
|||
Actual mark | Max | ||
Class Lotr definition | 1 | ||
Class CommandProcessor definition | 3 | ||
Class MEWorld definition | 3 | ||
Class Hobbit definition | 2 | ||
Class Human definition | 2 | ||
Class Goblin definition | 2 | ||
Class UrukHai definition | 2 | ||
TOTAL: DESIGN | 15 | ||
PROGRAM OVERVIEW (UML)1 |
|||
Actual mark | Max | ||
Individual class diagrams (2 marks each) | 24 | ||
Relationships between classes | 6 | ||
TOTAL: OVERVIEW | 30 | ||
PROGRAM FUNCTIONALITY2 |
|||
Note: Orc = goblin & UrukHai | Actual mark | Max | |
Displays intro | 1 | ||
Displays signoff conclusion | 1 | ||
Starting positions for objects in the world matches requirements | 2 | ||
World displayed with bounding lines and row/column labels | 3 | ||
Display Boromir's and Hobbit hit points each turn (updates as appropriate) | 4 | ||
Display main menu | 1 | ||
Can quit game from main menu | 2 | ||
Display attack menu | 2 | ||
Can invoke and display cheat menu when appropriate | 2 | ||
Can toggle debug mode, debugging messages displayed when debug mode is on | 4 | ||
Can toggle cheat mode | 2 | ||
Cheat mode gives Boromir invulnerability | 4 | ||
Boromir movement | |||
Boromir can move to an adjacent square: 4 marks | |||
Boromir can only move onto empty squares: 2 marks | |||
Checks array bounds (correctly): 2 marks | |||
Can pass on movement: 1 mark | |||
Subtotal: Boromir movement | 9 | ||
Hobbit movement | |||
Hobbit move east to boundary and then south until exit reached: 4 marks | |||
Hobbits can only move onto empty squares: 2 marks | |||
Checks array bounds (correctly): 2 marks | |||
Subtotal: Hobbit movement | 8 | ||
Game can be won (Hobbit reach exit) | 4 | ||
Game can be lost (Hobbit slain) | 4 | ||
Player can have Boromir attack adjacent orc | 6 | ||
Computer automatically has hobbit attack adjacent orc | 4 | ||
Orc movement | |||
Orcs randomly move to an adjacent square (small chance of remaining at location): 5 marks | |||
Orcs only move onto empty squares: 2 marks | |||
Checks array bounds (correctly): 2 marks | |||
Subtotal: Hobbit movement | 9 | ||
Goblins automatically attack a random good guy that is adjacent | 4 | ||
Uruk Hai automatically attack a random good guy that is within a range of two (half marks if it only attacks adjacent) | 8 | ||
Hobbits can hide in terrain | 4 | ||
Boromir can be slain (removed from game) | 4 | ||
Game runs on automatic after Boromir is slain | 2 | ||
Hobbit can be slain and removed from the game (determining win then extends this ability - more marks) | 4 | ||
Graphical display of game world | 8 | ||
Game has audio (sound effects or music) | 4 | ||
A turn is broken into sub-turns as specified into the assignment specification | 14 | ||
TOTAL FOR PROGRAM FUNCTIONALITY |
124 |
||
TOTAL RAW SCORE FOR ASSIGNMENT |
202 |
2 These marks will only be awarded if the correctness of implementation can be determined as the program is running.
Item |
Effect on grade |
Uses static methods (other than the main method) | Divide functionality marks by two1 |
Program consists of only a single class: | Divide functionality marks by two1 |
Functionality not assigned to the appropriate class as specified in the assignment description | Max loss of 8 marks (tallied after the above two modifiers, if applicable) |
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.
Score | Grade point |
0 | 0 |
30 | 0.7 |
37 | 1 |
42 | 1.1 |
46 | 1.2 |
50 | 1.3 |
54 | 1.4 |
58 | 1.5 |
62 | 1.6 |
66 | 1.7 |
70 | 1.8 |
74 | 1.9 |
77 | 2 |
80 | 2.1 |
85 | 2.2 |
90 | 2.3 |
95 | 2.4 |
100 | 2.5 |
105 | 2.6 |
110 | 2.7 |
115 | 2.8 |
120 | 2.9 |
125 | 3 |
130 | 3.1 |
135 | 3.2 |
140 | 3.3 |
145 | 3.4 |
150 | 3.5 |
155 | 3.6 |
160 | 3.7 |
165 | 3.8 |
170 | 3.9 |
175 | 4 |
180 | 4.1 |
184 | 4.2 |
188 | 4.3 |