CS439 Shell 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.
Shell Project Detailed Rubric
Project Component
|
Level 5
|
Level 4
|
Level 3
|
Level 2
|
Design, Design Communication, and Documentation
|
- No race conditions or concurrency errors revealed when visually inspected
- Parallelism is not unnecessarily limited.
- Data structures are always created and managed
correctly and efficiently.
- Design document accurately and clearly describes code
function and answers the given questions
- fib() implemented according to the specifications and
does not create unnecessary processes
- Follows all structure and
formatting guidelines, including those provided for the design document
|
- When visually inspected, reveals one or fewer race
conditions or concurrency errors
- Parallelism is sometimes unnecessarily limited.
- Data structures are sometimes not created and managed
correctly and efficiently.
- Design document satisfactorily describes code function
and answers the given questions
- fib() largely implemented according to the
specifications (e.g., changes parameters or return type of
doFib()) but may create some unnecessary processes
- Follows most structure and
formatting guidelines, including those provided for the design document
|
- When visually inspected, reveals a few race conditions
or concurrency errors
- Parallelism is often unnecessarily limited.
- Data structures are often not created and managed
correctly and efficiently.
- Design document unsatisfactorily describes code
function and answers the given questions
- fib() not implemented according to the specifications
(fails to calculate recursively or fails to calculate result
using child processes) or may create some unnecessary
processes
- Follows few structure and
formatting guidelines, including those provided for the design document
|
- When visually inspected, reveals many race conditions
or concurrency errors
- Parallelism is unnecessarily limited.
- Data structures are not created and managed
correctly and efficiently.
- Design document incorrectly or fails to describe code
function and answer the given questions
- fib() not implemented according to the specifications
(fails to calculate recursively and fails to calculate
result using child processes) and/or creates some
unnecessary processes
- Follows few structure and
formatting guidelines, including those provided for the design document
|
Test Cases
|
- Passes all test cases, including those from fib, handle, and utcsh.
|
- fib submission passes all but one test case
- handle largely behaves correctly
- utcsh submission passes 27 test cases or more
|
- fib submission passes most test cases
- handle mostly behaves correctly, but fails to wait for
one second
before printing in some cases
- utcsh submission passes 20 test cases or more
|
- fib submission fails half or more of the test cases
- handle fails to receive signals correctly or sleep properly
- utcsh submission fails more than 12 test cases or doesn't execute
|
Notes
- Completing the planning, reflection, and evaluation
documents for this project will add 4/10ths to your design score,
or the pro-rated equivalent. However, a grade higher than a 5
may not be awarded. Conversely,
students who fail to complete all documents may earn a
maximum of a 4 on the design.
- Turning in the skeleton code earns a design document score of 1.
- 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.
|
|