|
Introduction to Computer Science II for 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 |