Skip to content

Latest commit

 

History

History
131 lines (82 loc) · 4.38 KB

File metadata and controls

131 lines (82 loc) · 4.38 KB

Code Grading Rubric

Each assignment will be graded on three dimensions: Functionality, Documentation, and Style, along with one "WOW!" factor. The final assignment grade will be based on a weighted average of each of these grades with weights as follows:

Dimension Weight
Functionality 60%
Documentation 20%
Style 15%
WOW! 5%

⭐⭐⭐⭐⭐

Functionality:

  • Code fully implements all required features and passes automated unit tests for well-specified assignments.
  • For open-ended assignments, the code implements all required functionality and can be run without any modification.

Documentation:

  • Every function is accompanied by a well-written docstring that accurately describes its functionality.
  • The comments are comprehensive and informative enough to help anyone understand the program without further assistance.
  • For open-ended assignments, the program includes a detailed README file that explains how to run the program and what it is intended to do.

Style:

  • The program is designed with a clear and effective modular structure.
  • The code has no cut-and-paste code or magic numbers.
  • Variable and function names are chosen sensibly and are self-explanatory.
  • The code strictly adheres to the style guidelines as laid out in PEP 8.

WOW!:

  • Reserved for the most impressive solutions that exceed the requirements of the assignment.
  • The code goes above and beyond the requirements and impresses graders with its creativity and innovation.

⭐⭐⭐⭐

Functionality:

  • The code implements all of the required functionality with minor issues in 10-20% of the features for well-specified assignments.
  • For open-ended assignments, the code implements all the required functionality and can be run with moderate effort.
  • Pseudo-code is properly used.

Documentation:

  • The majority of functions have clear and concise docstrings.
  • The comments help to understand the program, but they are not comprehensive.
  • For open-ended assignments, there is a README file that gives a general overview of the program.

Style:

  • The program has an acceptable modular structure with some room for improvement.
  • The code includes some cut-and-paste code and magic numbers that could be better eliminated.
  • Variable and function names are mostly self-explanatory.
  • The code generally adheres to the style guidelines laid out in PEP 8.

⭐⭐⭐

Functionality:

  • The code implements most of the required functionality, but there are some issues (30-50%) with its implementation.
  • Pseudo-code is moderately used for assignments that require it.

Documentation:

  • Docstrings are missing from some of the functions.
  • Comments are brief and lack sufficient detail.
  • For open-ended assignments, it is unclear how to run the program - a good test is if you have to email someone to ask them how their code runs, they are probably at this level.

Style:

  • The program structure is not optimized.
  • The code would be a lot cleaner if the author had done a better job thinking through the appropriate functional decomposition.
  • The code includes too much cut-and-paste code and magic numbers.
  • Variable and function names are hard to interpret.
  • The code follows the style guidelines laid out in PEP 8, but with some violations.

⭐⭐

Functionality:

  • The assignment is incomplete (~50% of the functionality is not implemented).
  • The functionality that is implemented is not 100% correct.

Documentation:

  • Documentation mostly is absent.

Style:

  • Design is poor.
  • Very little attention has been paid to choosing a sensible functional decomposition.
  • Variable and function names are chosen almost arbitrarily.
  • The code does not follow the style guidelines in PEP 8.

Functionality:

  • Only minimal functionality is present.

Documentation:

  • Little or no documentation.
  • No comments or docstrings.

Style:

  • Code is not readable.
  • Poor choice of variable and function names.

0️

  • No submission.

updated: 10/29/2024