Assignment Grading Policy

Each programming assignment will be graded on: correctness, design and implementation, creativity, and adherance to the coding standards.

Once your project is complete, you should put all files into a single directory, then create a zip archive of the directory, and submit the zip archive on Moodle. Make sure to keep a copy of the submitted zip file. This will solidify time and date of your files and may be critical in resolving some unusual grading situations.  The course late policy, as described on the syllabus, applies to all assignments.

Correctness - 60%

Correctness includes the following aspects of your project:
  1. Your project must produce the correct output.
    When tested with valid input, your project must produce the results specified in the project description. The output must conform to the format specified in the project description.
    When tested with invalid input, your project must handle the error(s) in the manner specified in the project description.
  2. Your project must meet all project specific requirements.
    Project descriptions may contain requirements regarding class methods, input values or formats, how data must be stored, etc. Your project must satisfy all such requirements.
  3. Your project may not violate any project specific restrictions.
    Project descriptions may contain restrictions regarding variable definitions, method signatures, etc. Your project may not violate any of these restrictions.
A project which does not compile will receive no points for correctness.

Design and implementation - 20%

To be successful in this course, your projects must be properly designed and implemented in addition to producing the correct result. An excellent program exhibits proper object-oriented design including encapsulation, code reuse and other OOP topics discussed in class.  All implementations should exhibit appropriate top-down design.

An excellent program exhibits clear, straight-forward logic in its algorithms. An excellent program DOES NOT contain code that overuses control structures or has convoluted logic.

Your grade for this section will be

  1. 21 - 30%
    The instructor may assign extra credit for a design and implementation that exceeds the standard expectations. The design and implementation must show additional work beyond the requirements or must use especially elegant or advanced methodologies.
  2. 20%
    A design and implementation that meets all design and implementation expectations but may have 1 - 2 minor problems
  3. 10 - 19%
    A design and implementation that has several small problems and/or falls slightly short of the best approach
  4. 1 - 9%
    A design and implementation that has serious problems and/or falls significantly short of the best approach
  5. 0 points
    A design and implementation shows no effort to follow OOP and top-down principles.

Effort and Creativity - 10%

Be creative in your projects!  Your grade for this section will depend on the level of effort and creativity shown in your project.  The instructor also reserves the right to give extra credit for especially creative or innovative submissions, or submissions with additional features beyond the project requirements.

Adherance to Coding Standards - 10%

It is your responsibility to read, understand, and follow the course coding standards.  Your grade for this section will depend on how well you followed the coding standards.


Grading Questions

If you have a question regarding your project grade, you have exactly one week from the receipt of your grade to speak to your instructor in person.