CS439 Userprog Project Rubric
For longer explanations of the categories and more detailed
information about the grading criteria, please visit
the Grading Criteria page of this
website.
Userprog Project Detailed Rubric
Project Component
|
Level 5
|
Level 4
|
Level 3
|
Level 2
|
Design, Design Communication, and Documentation
|
- Use of synchronization constructs demonstrates an
understanding of their intended purpose and use.
- No race conditions or concurrency errors revealed when
visually inspected.
- Parallelism is not unnecessarily limited.
- Data structures and memory accesses are always created and/or managed
correctly and efficiently.
- Parent/child relationships are always managed correctly.
- All parts of the project are implemented.
- Code follows all structure and
formatting guidelines.
- Student accurately and clearly describes code
function and answers the given questions clearly and succinctly during the code review.
|
- Use of synchronization constructs demonstrates a satisfactory
understanding of their intended purpose and use.
- When visually inspected, reveals two or fewer race
conditions or concurrency errors.
- Parallelism is sometimes unnecessarily limited.
- Data structures and memory accesses are sometimes not created and/or managed
correctly and efficiently.
- Parent/child relationships are mostly managed correctly.
- All parts of the project are implemented.
- Code follows most structure and
formatting guidelines.
- Student satisfactorily describes code function
and answers the given questions clearly and succinctly during the code review.
|
- Use of synchronization constructs demonstrates an
unsatisfactory understanding of their intended purpose and use.
- When visually inspected, reveals five or fewer race conditions
or concurrency errors.
- Parallelism is often unnecessarily limited.
- Data structures and memory accesses are often not created and/or managed
correctly and efficiently.
- Parent/child relationships are usually managed correctly.
- Part of the project is unimplemented.
- Code follows few structure and
formatting guidelines.
- Student unsatisfactorily describes code
function and answers the given questions clearly and succinctly during the code review.
|
- Use of synchronization constructs reveals a lack of
understanding of their intended purpose and use.
- When visually inspected, reveals many race conditions,
concurrency errors, or a failure to use synchronization at
all.
- Parallelism is unnecessarily limited.
- Data structures and memory accesses are not created and/or managed
correctly and efficiently.
- Parent/child relationships are not managed correctly.
- Parts of the project are unimplemented.
- Code follows few structure and
formatting guidelines.
- Student incorrectly or fails to describe code
function and answer the given questions clearly and succinctly during the code review.
|
Test Cases
|
- Code submission passes all of the test cases, including the stack check.
|
- Code submission passes all of the test cases, including the stack check, but not including multi-oom.
|
- Code submission passes 68 or more of the test cases, including the stack check.
|
- Code submission fails more than 12 of the test cases, fails the stack check, or doesn't execute.
|
Notes
- Completing the a) planning and reflections and b) evaluation
documents for this project will add 6/10ths to your design score,
or the pro-rated equivalent, However, a grade higher than
5 may not be awarded. Conversely,
students who do not complete all documents may earn a
maximum of a 4 for the design.
- You may resubmit the test cases portion of the assignment for
a regrade within a week of the code reviews if you
so desire. More information will be posted to the discussion
board about that process.
- Be certain to review the General Grading Criteria that applies to all projects.
- You may report a grade discrepancy if you feel that we
overlooked information and thus made a mistake in evaluating
your submission. Please see the syllabus for more information.
|
|