Grading Criteria for Programming Assignments

A. Test Cases (70%) The number of test cases will vary for each assignment. Each predefined function will be weighed based on the difficulty of the function, and there will be various test cases for each of these functions. Each test case will be weighted equally. We will test a variety of "normal" cases as well as all possible edge cases.

B. Comments and Style (10%)
Rating Criteria
10 Well-formatted, understandable code with concise, meaningful comments
07 Code hard to follow in one reading, partial or poorly written comments
05 Incomprehensive code, appropriate language capabilities not used, wordy and uneccessary or incorrect comments
0 No comments

C. Main (15%)
Rating Criteria
15 Perfect adherence to the sample output- attention to spelling and whitespace
10 Close adherence to sample output- minor discrepancies
05 Diverges greatly from sample output
0 Nothing in main, or missing if __name__ == " __main__:"

D. Header (5%)
Rating Criteria
05 Correct format with all components
0 No header or missing/incorrect components

E. Comments (10%)
Rating Criteria
10 Concise, meaningful, well- formatted comments
06 Partial, poorly written or poorly formatted comments
04 Wordy, unnecessary, incorrect, or badly formatted comments
0 No comments at all

F. Extra Credit (10%)
Rating Criteria
04 Programs that usefully extend the requirements
03 Programs that use a particularly good algorithm
03 Programs that are particularly well written or use the capabilities of the language particularly well