Home CS439



CS439 Threads 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.

Threads Project Detailed Rubric

Project Component
Exemplary
Accomplished
Developing
Beginning
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 are always created and managed correctly and efficiently.
  • Scheduler is not invoked unnecessarily.
  • In alarm, design ensures that threads will wake on time.
  • Priority scheduling and priority donation are properly designed in all cases.
  • Design document accurately and clearly describes code function and answers the given questions clearly and succinctly.
  • Follows all structure and formatting guidelines, including those provided for the design document.
  • 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 are sometimes not created and managed correctly and efficiently.
  • Scheduler is sometimes invoked unnecessarily.
  • In alarm, design may cause thread waking to be minimally early or late, even if not caught in test cases.
  • Priority scheduling and priority donation are properly designed in most cases, but in some instances the wrong thread may be scheduled.
  • Design document satisfactorily describes code function and answers the given questions clearly and succinctly.
  • Follows most structure and formatting guidelines, including those provided for the design document.
  • 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 are often not created and managed correctly and efficiently.
  • Scheduler is often invoked unnecessarily.
  • In alarm, design may cause thread waking to be early or late, even if not caught in test cases.
  • Priority scheduling and priority donation are properly designed in some cases, but often the wrong thread may be scheduled.
  • Design document unsatisfactorily describes code function and answers the given questions clearly and succinctly.
  • Follows few structure and formatting guidelines, including those provided for the design document.
  • 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 are not created and managed correctly and efficiently.
  • Scheduler is regularly invoked unnecessarily.
  • In alarm, design may cause some threads to never wake up or never sleep, even if not caught in test cases.
  • Priority scheduling and priority donation are not properly designed in most or all cases, and the wrong thread is usually scheduled.
  • Design document incorrectly or fails to describe code function and answer the given questions clearly and succinctly.
  • Follows few structure and formatting guidelines, including those provided for the design document.
Test Cases
  • Code submission passes all test cases
  • Code submission passes 15 or more test cases
  • Code submission passes 10 test cases or more
  • Code submission fails more than 10 test cases or doesn't execute
Notes
  • Completing the a) planning and reflections and b) evaluation documents for this project will add 4/10ths to your design score, or the pro-rated equivalent. However, a grade higher than an "E" (5) may not be awarded. Conversely, students who fail to complete all documents may earn a maximum of an "A" (4) on the projects.
  • Failure to correctly submit a README will drop your test cases grade by a category.
  • Design documents that are over the character limit will earn at most a Developing, and they may earn a Beginning, depending on how far over the character limit. Submissions that are missing their programming log will earn at most a Beginning.
  • Turning in the skeleton code earns a design document score of 1
  • You may report a grade discrepancy if you feel that we overlooked information and thus made a mistake in evaluating your submission.