Lecture notes for Computer Science II by James Tam Return to the course web page

CPSC 233: Assignment 4 (Marking)

 

SUBMISSION REQUIREMENTS

Item

Effect on grade

Uses static methods (other than the main method) Divide marks by two (rounded down)1
Program consists of only a single class: Divide marks by two (rounded down)1

Missing contact information in submission (name and student number)

-2 marks (assuming the source of the submission can be determined)

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.

 

PROGRAMMING STYLE

 

Actual mark

Max

  Naming conventions variables and constants Poor -2  Some poorly named identifiers +0   Good and clear throughout +2   2
  Layout and appearance of the Java source code (alignment, formatting, whitespace) Very cluttered, no whitespace -2 Slightly too much/too little +0 Appropriate use of whitespace: +2   2
  Layout and appearance of the program output (when the program is actually running) Very cluttered, no whitespace, formatting -2 Slightly too much/too little +0 Appropriate use of whitespace: +1   2
  Appropriate use of constants   A few obvious missed: +1 Good: +2   2
  Variables initialized prior to use     Always +1   1
  Use of decomposition into classes and methods (e.g., do class definitions have appropriate attributes and behaviours, is the decomposition into methods appropriate (no all powerful methods) Major problems -2   Appropriate +2   2
  Method implementation: methods implement well defined task, method length does not greatly exceed a screenful of text, method names well chosen and well designed (not excessively complex) Major problems -2   Appropriate +2   2
  TOTAL         13

 

 

 

 

 

 

 

 

 

 

 

 

 

 

DOCUMENTATION

 

 

 

Actual mark

Max

  Overall documentation should include: some sort of versioning system, a description of the features of the program (what it does rather than how it does it), limitations of the program (features not implemented or cases that it can't handle). No documentation: -4 Minor omissions or other problems: +2 Appropriate level of detail: +4   4
  Documentation for each class Some: +0 Most: +1 All classes: +2   2
  TOTAL         6
     

PROGRAM FUNCTIONALITY

   
  Actual mark Max
Class CommandProcessor defined as specified in the assignment description1   2
Class Escape defined and initialized as specified in the assignment description1   1
Class Forest defined and initialized as specified in the assignment description1   2
Class ForestItem defined and initialized as specified in the assignment description1   2
Class GameStatus defined and initialized as specified in the assignment description1   1
Displays intro that explains the rules of the game   1
Displays signoff conclusion, it should display the neutral game status: the game is neither won nor lost   1
Displays main (move) menu - options are not yet working to get this mark   1
Game will continue running (displays and prompts for movement) until the player quits (win/lose conditions not yet implemented to get credit for this feature)   1
Can access and display the cheat menu through a hidden menu option in the main menu   2
Cheat menu implemented (loops until valid input received then returns to main menu, marks for debug and cheat mode are extra to this)   1
Debug mode implemented   2
Program can read starting positions from input file   2
The steps in a turn properly ordered   2
The forest is displayed with a bounded numbered grid   2
Party's courage is reduced by one each turn   2
Party's courage is reduced by ten when adjacent to a token   4
Cheat mode implemented   2
Tokens are randomly distributed in the forest during the turn (you only get credit for one approach)   6
  Exactly 5 tokens are distributed (4 marks max)    
  5 - 8 tokens are randomly distributed (6 marks max)    
Game can detect the win game condition (party reaches (9,9) on the board, conclusion indicates win   3
Game can detect the lose game condition (party courage is zero or less), conclusion indicates loss   3
Party can move (unlike distributing tokens as you implement more of the different aspects of panic mode you get a progressively higher mark)   9
  Party can move onto an adjacent square (4 marks)    
  Properly checks for array bounds  (1 mark)    
  Player can only move onto empty square or the exit (4 marks)    
Panic mode implemented (much like regular movement as you implement more of the different aspects of panic mode you get a progressively higher mark)   11
  Game can detect if party has a chance of panicking (courage too low: 1 mark)    
  Game can generate a random probability (50% chance to panic: 1 mark)    
  Movement algorithm for panicking is properly implemented (tries to move 3 times to adjacent: 4 marks, 2 marks lost if debug mode doesn't indicate when movement not possible)    
  Properly checks for array bounds  (1 mark)    
  During panicked movement the player will only move onto empty or exit (4 marks)    
TOTAL FOR PROGRAM FUNCTIONALITY  

63

     

1 Implementation marks for filling in the bodies of these classes is extra. For the class definition marks you essentially get these marks for properly laying out the skeleton or design for these classes.

Total score Letter
A+ 80 - 82
A 75 - 79
A- 70 - 74
B+ 65 - 69
B 60 - 64
B- 55 - 59
C+ 50 - 54
C 45 - 49
C- 40 - 44
D+ 30 - 39
D 20 - 29
D- 10 - 19
F 0 - 9

 

TOTAL MARKS

 

LETTER GRADE