Home CS439



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

Filesys 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 and memory accesses are always created and/or managed correctly and efficiently.
  • File system always efficiently stores and accesses files of various sizes, including small ones and those up to 8MB.
  • File system always correctly extends files and directories while providing for fairness between readers and writers.
  • File system correctly and efficiently implements directories and subdirectories, including in the case of file removal and tracking the current working directory.
  • Design document accurately and clearly describes code function and answers the given questions clearly and succinctly.
  • Code 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 and memory accesses are sometimes not created and/or managed correctly and efficiently.
  • File system often efficiently stores and accesses files of various sizes, including small ones and those up to 8MB.
  • File system often correctly extends files and directories while providing for fairness between readers and writers.
  • File system often correctly and efficiently implements directories and subdirectories, including in the case of file removal and tracking the current working directory.
  • Design document satisfactorily describes code function and answers the given questions clearly and succinctly.
  • Code 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 and memory accesses are often not created and/or managed correctly and efficiently.
  • File system sometimes efficiently stores and accesses files of various sizes, including small ones and those up to 8MB.
  • File system sometimes correctly extends files and directories while providing for fairness between readers and writers.
  • File system sometimes correctly and efficiently implements directories and subdirectories, including in the case of file removal and tracking the current working directory.
  • Design document unsatisfactorily describes code function and answers the given questions clearly and succinctly.
  • Code 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 and memory accesses are not created and/or managed correctly and efficiently.
  • File system does not efficiently store and access files of various sizes, including small ones and those up to 8MB.
  • File system incorrectly extends files and directories while not providing for fairness between readers and writers.
  • File system incorrectly implements directories and subdirectories, including in the case of file removal and tracking the current working directory.
  • Design document incorrectly or fails to describe code function and answer the given questions clearly and succinctly.
  • Code follows few structure and formatting guidelines, including those provided for the design document.
Test Cases
  • Code submission passes all of the test cases.
  • Code submission passes 115 or more of the test cases.
    Corresponds to missing a few cases, like dir-vine
  • Code submission passes 95 or more of the test cases.
    Roughly corresponds to file growth tests and marginally adding subdirectories.
  • Code submission passes less than 95 of the test cases 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 an "E" 5) may not be awarded. Conversely, students who do not complete all documents may earn a maximum of an "A" 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 or your Project 2 code base earns a maximum 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. Please note that the deadline for the submission of the form will be quick due to deadlines around final grade submission.