fp-arduino
Arduino Core Grading Rubric
Core Grading Rubric
- There is no autograder for grading the Arduino final project.
- The Core will be hand-graded by the teaching staff, after the Core submission deadline has passed.
- Staff will download each team submission, creating a sketch using the space_invaders.ino file.
- Staff will play the game using the same kits that were issued to student teams.
- The rubric below will be used when grading.
- No category can exceed the points in column 2 from the table below.
- No category can receive less than 0 points.
- The staff will not pre-grade any part of the project before the deadline. All grading will be done after the submission deadline.
Category | Points | Possible Violations |
---|---|---|
Display level and lives correctly |
3 |
-1.5 does not display before game starts -1.5 does not display level between levels |
Button works |
1 |
-1 does not fire Cannonball when button pressed -1 continuously fires Cannonball when button not pressed |
Potentiometer works correctly |
2 |
-1 "Joystick" mode - player moves when potentiometer is not moving -1 Player cannot reach both ends of screen to enable firing the Cannonball at every column |
Check level complete and move to next level when all Invaders defeated |
3 |
-3 does not move to the next level when all Invaders defeated -2 moves to the next level when more than one Invader alive -1 moves to the next level when one Invader alive |
Invader dies/loses strength when shot |
8 |
-4 part of the Invader erased but still changes color -4 Cannonball does not disappear correctly -4 if Cannonball sometimes goes through Invader without hitting it -8 Invaders do not die/change color when hit |
Invaders move down the screen |
8 |
-2 top row of Invaders not drawn correctly -2 one Invader in either row lags behind the others of the row -3 Invaders move slower while shooting continuously -4 one of the rows does not move down or moves down incorrectly -8 No Invaders move down the display |
Can play through the first random level, level 5, without the game crashing |
3 |
-3 cannot reach level 5 -3 cannot complete level 5 by destroying all Invaders |
Initialize all levels correctly |
4 |
-1 Invader strengths not associated with their correct color -1 incorrect strength initialization for any level -1 level does not go past 5 -1 random levels do not have different strengths - i.e., level 5 and 6 have the same Invader strengths -1 level 5 Invader strengths are the same every time the game is restarted |
Player dies correctly |
5 |
-3 Player collision with Invaders does not work -3 Invaders go beyond the bottom border, or Player dies when Invaders are more than 3 pixels from the bottom of the display -1 Player dies before Invader reaches player as defined in the "What is the hitbox for an invader" in the FAQ of the specification. |
When losing a life, level restarts |
1 |
-1 level does not restart with original Invader strenghts and positions for the level after Player dies |
Game Over displays correctly |
1 |
-1 Does not display Game Over when all Player lives are lost, or does not display long enough to be read |
Cannonball visible until it reaches an Invader or leaves top of the display |
4 |
-2 Cannonball disappears before reaching the top of the display -2 Cannonball pixels "get stuck" on the top of the board, or when the button is pressed again -2 Cannonball moves side to side with the potentiometer -2 multiple Cannonballs can be shot -2 Cannonball relaunched when button pressed before reaching the top of the display, or Cannonball does not launch until the button is released after being pressed, or the Cannonball is not immediately fired again when holding down the button and the Cannonball reaches the top of the display or collides with an Invader. -2 Cannonball from previous level continues on new level -4 Cannonball not displayed at all |
Display does not flicker or lag because of code |
2 |
-1 if noticable flicker/lag -2 if strobing flicker or lag of 1 second or more |
Style |
5 |
-1 code has less than three comments -2 code has three or more instances of poor indentation -2 code has four or more variables with meaningless names (x, y, r, g, b are fine)
|
-2 points for each line of code that staff alter to enable grading of your solution |
Varies |
-2 for each line of code staff must modify Staff will grade solutions by playing your game. Staff will attempt modify code, within reason, to enable grading Overall grade cannot be lower than if staff did not modify your team submission |
Total Points - Core |
50 |