In Computer Science classes, programs and problem sets are graded according to the five point scale outlined here. These go into figuring the "programs and projects" portion of your grade.
Good programs exhibit four attributes.
- Correct behaviour: the code functions as specified.
- Good documentation: it is easy for others to understand your code
- Robust behaviour: If there is a user interface, your program should avoid crashing when abused by a user. This begins to be important when you are writing a complete, working application.
- Good modularization: The problem is decomposed into single purpose pieces that orchestrate into a coherent whole. This is achieved by good choices of classes or functions.
5- Flawless, expectation-exceeding. The level of achievement that is unreasonable to consistently demand.
- Proper documentation present, clear and succinct
- Code well-organized and modularized
- Program is correct and robust
4- Correct. Meets the specified requirements of the assignment. It is cleanly written and properly documented.
- Proper documentation present
- Code functions as specified
- Program is correct
3- Locally/conditionally correct. Fails for certain cases, flagrantly violates style guidelines, or is hampered by syntax errors that make it hard to test the program.
- Documentation spotty or missing
- Flaws in code execution, but works in most cases
- Incomplete modularization
2- Incorrect. Evident of some effort and understanding of assignment and relevant concepts.
- Documentation spotty or missing
- Major flaws in code execution, might work in some cases
1- Incomprehensible. Wholly lacking merit and evidence of relevance to the assignment specs.
An average of 4 or better is an 'A', an average of 3 or better is a 'B', and average of 2 or better is a 'C'. That letter grade is converted to a number grade and factored into your class numerical average. If the fractional part of your average is at least .7, you get a plus and if it is less than .3, you get a minus. Example: a 4.2 is an A-, a 2.8 is a C+.