Introduction to Computer Science II for non-majors by James Tam

Return to the course web page

CPSC 219: Assignment 5 (Marking)

PROGRAMMING STYLE1

 

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

1 May be awarded independently of program functionality (i.e., when the program won't run).

2 These marks will only be awarded if the correctness of implementation can be determined as the program is running.

 

DESIGN REQUIREMENTS (may modify the raw score)

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.

 

MAPPING OF RAW SCORE TO ASSIGNMENT GRADE POINT

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