Homework Rubric

Evaluation philosophy

The university requires that I assign each student a letter grade at the end of the quarter. However I find that numeric scores on assignments tend to cause students grading anxiety if they do not achieve a perfect 100%. Nor does the numeric score convey specific feedback as to what the student has done well on an assignment, combined with feedback on areas for improvement.

As such, I do not assign numeric scores in this class. All homework assignments are evaluated using the grading rubric below. Final grades are calculated as the cumulative performance across all homework assignments.

How do the rubric scores convert to a letter grade?

  • In this course, “Satisfactory” is equivalent to a B+. So if you earned “Satisfactory” on every assignment for every rubric element, at the end of the quarter you would earn a B+.
  • If you earn a combination of “Satisfactory” and “Excellent” scores you are looking at the difference between a B+ and an A-, or an A- and an A.
  • If you earn a combination of “Satisfactory” and “Needs Improvement” scores, then you might be somewhere between a B+ and a B or lower.
  • Etc. etc.

Historically, 90% of students in the class earn a B+ or higher.

The final grade is calculated assuming you are submitting all homework assignments. Missed assignments or incomplete work will negatively affect your grade. We have a total of 8 assignments in the class; each is worth roughly 12.5% of your final grade. A missed assignment is worth 0%.

Rubric

In addition to this general rubric, make sure to consult any specific guidance given in the relevant assignment itself

TopicExcellent:
✓+ coded as +
Satisfactory:
✓ coded as 0
Needs improvement:
✓- coded as -
Coding styleStudent has gone beyond what was expected and required, coding conventions are followed, code is well commented.Coding style lacks refinement and has some errors, but code is readable and has some comments.Many errors in coding style, little attention paid to making the code human readable.
Coding strategyComplicated problem broken down into sub-problems that are individually much simpler. Code is efficient, correct, and minimal. Code uses appropriate data structure (list, data frame, vector/matrix/array). Code checks for common errors.Code is correct, but could be edited down to leaner code. Some “hacking” instead of using suitable data structure. Some checks for errors.Code tackles complicated problem in one big chunk. Code is repetitive and could easily be functionalized. No anticipation of errors.
PresentationGraph(s) carefully tuned for desired purpose. One graph illustrates one point.

Table(s) carefully constructed to make it easy to perform important comparisons. Careful styling highlights important features.

Full command of Markdown syntax and its components.
Graph(s) well chosen, but with a few minor problems: inappropriate aspect ratios, poor labels.

Table(s) generally appropriate but possibly some minor formatting deficiencies.

Appropriate use of Markdown syntax and its components, but with some minor deficiencies.
Graph(s) poorly chosen to support questions.

Table(s) with too many, or inconsistent, decimal places. Table(s) not appropriate for questions and findings.

Major display problems with graphs, tables and/or Markdown components.
Achievement, mastery, cleverness, creativityStudent has gone beyond what was expected and required, e.g., extraordinary effort, additional tools not addressed by this course and/or shows sophisticated application of tools from course.Tools and techniques from the course are applied very competently and, perhaps, somewhat creatively. Chosen task was acceptable, but fairly conservative in ambition.Student does not display the expected level of mastery of the tools and techniques in this course. Chosen task was too limited in scope.
Reproducibility, compliance with course conventions for submitted workAccess is as easy as possible, comply with reproducibility conventions, code runs, workflow is correct.Code partially complies with reproducibility conventions and/or code does not run.Not an earnest effort to reduce friction and comply with conventions and/or code does not run.

Template

$$Evaluation ---------------------------------------------------- | Topic | Excellent | Satisfactory | Needs Improvement | |-----------------------------|-----------|--------------|------------| | **Coding style** | | | | | **Coding strategy** | | | | | **Presentation** | | | | | **Achievement, creativity** | | | | | **Reproducibility** | | | | Examples of further remarks: * Elaborate on above, especially for "Needs improvement" * Some specific praise * Specific constructive criticism$$

Acknowledgments