Sample Assignments Rubric

This page contains the rubric used for assignments grading. Though specifics may vary from assignment to assignment, this serves as the general guideline.

Level / Points Technical Collaboration Communication
No Evidence (0) Missing components: The code does not run or the PR was never created. Missing components: Did not address nor give a code review, or missed initial PR deadline. Missing components: Missing PR description, presentation, process journal, or design document.
Beginning (1) Missing two or more criteria from Proficient. Missing two or more criteria from Proficient, or did not complete the assigned code review. Missing two or more criteria from Proficient.
Developing (2) Missing one criterion from Proficient. Missing one criterion from Proficient, but not the code review requirement. Missing one criterion from Proficient.
Proficient (3) Should satisfy all:
Code correctness: All features work perfectly, including edge cases, with no runtime errors.
Code quality: Names are descriptive, and the style perfectly matches the existing codebase.
Workflow: The PR is open on the correct branch.
Design: Implementation uses optimal design choices.
Should satisfy all:
Shared commit history: Both partners made commits. Process journal identifies which work was done together vs. separately.
Code review: Gives respectful, constructive feedback in in-line comments to the code change. Points out strengths and/or identifies specific issues in the code.
Addresses review: Addresses any constructive feedback given or respectfully explains why a change was not made. Clearly documents the resolution of any discussion.
Should satisfy all:
Presentation: Presentation includes implementation summary and key design decisions. Students are able to respond to tutor’s follow up questions. Is completed on time.
PR description: Provides a high level overview of features implemented (not just what was changed, but why) and includes screenshots of features, using PR template.
Process journal: Process journal describes understanding the problem, code navigation and comprehension techniques used, testing, debugging and resources consulted.
Design document: Sufficiently explains implementation architecture and tradeoffs for why certain design decisions were made. Includes visual tools.