EMU CS Programming Rubric
Prerequisites
- Source code must be submitted for each assignment. Some assignments may also require additional data files.
- The code must compile and run on the lab systems.
- The code must be substantially your own work and any resources and code used as reference must be fully documented.
Criteria | Excellent (A) | Acceptable (C) | Unacceptable (F) |
Documented & Maintainable (The program is well-documented with appropriate names and comments making it easy to understand.) |
- all naming conventions are followed
- both in-line and header comments are included and clearly explain the what the code accomplishes and how
- white space is used well
|
- most naming conventions are followed
- some comments are confusing or missing
- white space is used well in most places
|
- poor or no use of naming conventions
- too few or too many comments are used and they are unclear or inaccurate
- poor use of white space
|
Adaptable & Reusable (The program is modular, using abstraction well and any limitations are clearly specified.) |
- all interfaces between objects are clear
- appropriate utility functions are used and well-documented
- most code can be reused
|
- most object interfaces are clear
- some appropriate utility functions are used and documented
- some code can be reused
|
- poor object interface definitions
- few or no utility functions
- no code can be reused
|
Robust & Correct (The program provides the correct output for all possible input.) |
- the program works completely as expected
- the output is displayed to specification for all valid input
- the program responds appropriately for all invalid input
|
- the program works as expected for most input
- there may be minor errors in output formatting for valid input
- not all invalid input is handled reasonably
|
- the program does not produce correct output for even the sample input
- the program fails to handle invalid input
- exceptions are not caught
|
Efficient & Elegant (The program uses both time and space on the computer effectively, without losing source code clarity.) |
- no extra variables or definitions are used
- the code is small, efficient yet still easily understood
|
- extra variables do not make the code harder to understand
- brute-force problem solving approach
|
- extra variables are pervasive and confusing
- the code is unnecessarily long and patched together
|
The EMU Academic Integrity Policy applies to all programming assignments. Plagiarism and academic dishonesty (including failure to document resources used) will result in a failing grade of 1 on the assignment and submission of a Violation of Academic Integrity Report.
Charles Cooley & Dee Weikle, Dec. 2012
Last modified: Monday, December 3, 2012, 1:49 PM