Grading rubric
Recall the
General Instructions for Grading Programs.
Eclipse project for this assignment: GameOfLife (team repositories)
Points to be awarded for:
-
Unit Tests
- 10 points - testGameOfLife constructs a new GameOfLife instance and ensures that the grid has been setup correctly (using isOccupied)
- 10 points - testNextGen steps the game at least 1 timestep, and verifies that the correct cells are occupied
- 10 points - testGetNeightborCount verifies that the proper number of neighbors are calculated for various cells
-
GameOfLife
- 10 points - Uses an appropriate data structure to store the game grid.
- Note: there are multiple data structures that can be used, each with their own advantages and disadvantages.
- -5 points if the MAX_ROWS and MAX_COLUMNS constraints are not enforced. Note that this may or may not need to be enforced by the data structure itself.
- 10 points - Draws every cell that is occupied
- -5 points if cells are not drawn in the correct location
- -5 points if cells are the wrong size (must be some function of DOT_SIZE)
- 10 points - For each progressive step, cells are appropriately occupied or empty according to the rules
- -2 points Occupied cells do not
die correctly according to the rules
- -2 points Unoccupied cells are not
born correctly according to the rules
- -6 points The grid does not wrap around such that the outer rows and columns are neighbors.
That is, for M rows and N columns:
- The neighboring row for row 0 is row M-1 for M rows (and vice-versa).
- The neighboring column for column 0 is column N-1 for N columns (and vice-versa).
Total: 60 points
|