Project Grading Guidelines (Fall 2013)

The following are grading guidelines that describe the general principles for assigning grades to student project submissions. These guidelines do not constitute a binding contract. Instead, they are intended to help students make decisions like: Should I take the 10% penalty and take an additional day to fix this bug?


Projects that compile and run

Projects that compile and run will generally receive a grade of:

A

if the code is well-documented, applies good design principles and has at most one or two minor errors.

Examples of "minor error" in Project 1:

  • splits long list when length exceeds 3 sqrt(n) instead of 2 sqrt(n).
  • indexOf() does not return -1, when data is not on the list.

B

if the code is well-documented, applies good design principles, but has several minor errors or one or two major errors.

Examples of "major error" in Project 1:

  • items out of order after merging short lists.
  • merge() takes linear time instead of constant time.

C

if the code is well-documented, applies good design principles, has several major errors or detracts significantly from project instructions.

Example of significant detraction from project instructions in Project 1:

  • uses Vector instead of Linked List for the top-level list.

D

if the code is well-documented, applies good design principles, but has many unimplemented features and ignores some main directives from project instructions.

Example of ignoring main directives from Project 1:

  • uses Linked List from C++ STLs for inner lists.

F

if the code is well-documented, applies good design principles, but most features are not implemented or do not work as prescribed, or ignores most main directives of the project instructions.

Additional deductions for poor documentation or poor design may reduce the project grade by one-half to one letter grade.


Projects that do not compile or do not run.

Projects that do not compile or do not run are graded on effort. This is a judgment call on the part of the grader. The maximum grade for a project that does not compile or does not run is 65%.

56-65Removing one or two minor bugs will fix this project.
46-55Significant progress made, but major rewrite is necessary.
36-45Not much progress made.
0-35Barely started coding.

Deductions for poor documentation and poor design also apply to projects that do not compile or do not run.


Advice on Strategy

These grading guidelines place a premium on projects that compile and actually run. You should always have a version of your project that will at least compile and do something.

If it is 8:50pm on Tuesday night and you still have some major errors to resolve, then it is probably worthwhile for you to take the 10% penalty and the additional day to fix your bugs.

If it is 8:50pm on Friday night (last possible 9 minutes for submission) and you still cannot get your program to work, then you should turn in the last version of your program that at least compiles and runs. If you do not have a version that compiles and runs, then turn in whatever you managed to accomplish because having no submission will definitely result in a grade of zero.