03 Prove : Assessment Guidelines
Overview
This document outlines the guidelines for instructors and teaching assistants to use as they assess the assignment. It is intended to give structure and guidance to the grading process to ensure that the most important components of the assignment are highlighted, and to promote consistency across sections.
In all cases, the instructor has the latitude to deviate from this rubric on a case-by-base basis to provide the holistic assessment that, in their judgment, best matches the assignment.
Fundamental Concepts
This assignment is designed to highlight the following fundamental concepts:
Use of objects and methods - It is important to see the Robot class with variables and methods, not lots of logic back in a main function.
Scoring
The following categories are used to score this assignment:
/40 - Functionality (moving correctly, checking fuel, etc.) /20 - Class Member Variables /20 - Class Member Functions /20 - Code Quality and Style --------- /100 - Total
Overall Scoring
For each of the categories the following general scoring guidelines apply:
100% - Correctly implemented
85% - Minor error exists
70% - A major error or multiple minor errors exist
50% - A good attempt was made.
0% - No attempt made.
If necessary, scores in between the above classifications can be assigned.
Examples of Major/Minor errors
Functionality
Major - Moving doesn’t work or firing doesn’t work
Major - Fuel is not checked or subtracted correctly.
Minor - Everything works correctly, but doesn't match the testbed formatting
Minor - Quit doesn't work correctly
Minor - Up/Down are backwards from the spec
Member variables
Major - Member variables not are initialized in the init function
Minor - Member variables are not initialized to good default values
Member functions
Attempt - No member functions for moving
Attempt - No member function for status
Attempt - No member functions for firing
Major - Doing all the logic in main (or some other non-member function) rather than using the appropriate member function
It is fine if they do prompting and the if statements to check for the input in either main or in a member function.
Minor - Check for fuel in main, but did other things (update position, etc.) in the correct member function.
Code Quality / Style
Major - Bad Practice in looping / calling functions
Minor - Using break to leave the loop rather than the condition
Minor - Have duplicated logic in many member functions to check the fuel that could have been consolidated into a single member function.
Minor - No comments
It is ok if they used inline comments (
#) rather than docstring comments (""") for function headers, but please suggest the use of the proper one.