COS 160 program grading guidelines.


The following are just guidelines for program graders.  Individual programs from individual students can overlap categories.  Just use your best judgment in applying these guidelines.  These guidelines are also made available to students taking the course.

 

If the assignment is missing the required output the student can hand in the entire program again, this time with output, with no late penalty.

 

The assignments are written in multiple parts.  If a student completes some of the parts correctly but other parts are incomplete, they will get full credit for the parts that are working and partial credit for the incomplete parts.  As an incentive to get students to hand assignments in on time (even if they are not perfect), they are permitted to hand in an incomplete assignment on time, and then later turn in a more complete assignment.  The late assignment will be receive a late penalty, but the higher of the 2 scores will be recorded.

 

Basic grading:  
100% 
Runs correctly, generating correct outputs for the required inputs.
90%
Runs basically correctly with some minor deviations from the requirements.
80%
Runs but has less than full functionality
70%
Runs but is quite far from having the required functionality or functionality not demonstrated through use of required inputs.
60%
Runs and seems to be addressing the problem, but hard to tell what it does.
50%
Does not run but seems to be a good try.  (This may be due to having no output handed in.)
40%
Doesn’t run but program seems to be addressing the correct problem
10 – 30%
Anything handed in.  No one should get a 0 on work handed in.  Zeros are reserved for handing nothing in.
Extra Credit
Extra Credit is required to be nearly or fully correct.  Although the regular parts of an assignment are given partial credit, the extra credit needs to be nearly or fully correct to receive credit.

These are not fixed amounts.  They are simply guidelines for the grader.  

 

Adjustments to grade

Reduce the grade assigned above by the following amounts.  In other words, if the problem is worth 12 points and the student get 85%, the result is 10.2.  If an additional 15% is taken off for inadequate comments, take the 15% off the 10.2, not the original 12.  Thus the student would get .85 * 10.2 = 8.7 (rounded).
-20%
No commenting.  Take less than 20% off if there is a little commenting but not adequate.
-20%
Poor pretty printing.  Indentation not consistent. Take less than 20% off if it seems not too bad.
-20%
Extremely poor identifier names.  Peoples’ names (e.g. Sarah) or identifiers like yg17. 
Less than 20% off for less poor identifier names.

Again, round to the nearest tenth.

 

Deducting points and half points.  In many cases it may be easier just to deduct a point or half a point instead of using a percentage. Also, if the commenting is poor but not completely missing, fewer points could be taken off.  If this grading method is used consistently for any particular programming assignment, it is within the guidelines.

 

Inappropriate programming method. For example, if a student repeats a set of instructions a number of times instead of having a loop it implies that the student does not understand loops. Using the else … if form instead of a switch is ok unless the switch was explicitly called for in the assignment.  These will be up to your judgment. About 30% off for a major misuse would be appropriate.

 

Cheating. If 2 students hand in identical or nearly identical programs, give each student a 0 on the program and let the instructor know.  The instructor will deal with the problem.  Often the code for the first programs in COS 160 will be very close because there are not many options.   Still, indentation, comments, variable names, etc are unlikely to be identical or nearly identical.

 

Grading effort. It is assumed that the output of each program will be checked and graded.  The program itself should also be checked for pretty printing, commenting, variable names and overall structure. This does not necessarily imply a detailed reading of the program.

 

Grader comments.  These can be very helpful to the student and to you if the student comes back with questions.  Give hints on how it could be improved.  Do not necessarily read the program in detail but if something jumps out at you and, especially, if you take points off for it, comment on it.  Comments should be legible.