Assessment Rubric

A generalized version of the rubric I have used in my classes is presented below. The actual rubrics that I have used can be downloaded below (one for grading code submission and another for the oral exam when students demonstrate their project).

Download rubric to grade project demo (CSV)

Download rubric to grade code submission (CSV)

General Project Assessment Rubric

This rubric is designed to assess the project. It synthesizes criteria from both a live demonstration and the code/document submission, totaling 100 points.

Category Exemplary (20 pts) Proficient (15 pts) Developing (10 pts) Needs Improvement (0-5 pts)
1. Code Functionality & Correctness (20%) Code runs flawlessly, implements all proposed features effectively, and handles edge cases gracefully. Code runs correctly and implements most proposed features. May have minor, non-critical bugs. Code runs but has logical errors or fails to implement several key features. Code does not run or is fundamentally incomplete.
2. Demonstration & Explanation (20%) Student clearly and confidently explains all project features and can explain the purpose and logic of any randomly selected code block. Student explains the main features well, but is slightly unclear on some details or secondary code blocks. Student can only explain the high-level purpose of the project and struggles to explain specific code implementations. Student cannot adequately explain their own project or code.
3. Technical Depth & Independent Effort (20%) Project shows significant independent effort, going beyond class examples. It correctly uses appropriate data structures, functions, and file I/O in a non-trivial way. Project correctly uses core concepts (loops, functions, data structures) as required. Shows some effort beyond basic examples. Project uses core concepts but in a simplistic or sometimes incorrect way. Little evidence of independent exploration. Project is a trivial implementation that does not demonstrate a grasp of core programming concepts.
4. Hardware Verification & Real-World Connection (15%) The hardware component works perfectly and elegantly validates the software's function. The project solves a clear real-world problem as a proof-of-concept. The hardware component works and successfully validates the software's core function. The hardware component is attempted but is buggy, unreliable, or does not clearly validate the software. Hardware verification is missing or non-functional.
5. Documentation & Code Style (10%) Code is exceptionally well-documented with clear comments and docstrings. The code is clean, readable, and follows a consistent style. The user interface is intuitive. Code is adequately commented. Style is mostly consistent. User interface is functional. Code has sparse or unclear comments. The user interface may be confusing. Code is difficult to read and lacks any documentation.
6. Reflection Journal & Process (15%) The journal is thorough, insightful, and clearly documents a journey of learning and problem-solving. The final reflection essay is well-written and thoughtful. The journal documents the main steps of the project but may lack depth or consistent detail. The reflection is complete but superficial. The journal is missing significant sections or is just a shallow log of actions. The journal is incomplete or missing.