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:
- 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.
- 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.
- 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
- 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.
- 20%
A design and implementation that meets all design and implementation
expectations but may have 1 - 2 minor problems
- 10 - 19%
A design and implementation that has several small problems and/or
falls slightly short of the best approach
- 1 - 9%
A design and implementation that has serious problems and/or
falls significantly short of the best approach
- 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.
Project Regrades
In some unusual circumstances you may receive a low project score
because of a single, simple error that results in many incorrect
outputs
or results in a compiler error. The definition of "simple error"
is determined by your instructor.
In such cases, your instructor may (at his discretion)
allow you to fix the simple mistake
and have your project regraded.
A 10% deduction is assessed when your project
is regraded.