Guidelines for Graders and TAs for Prof. Cole's Courses

 
1. Always give feedback in the comments section on eLearning.  If you take off points, the student must know why, so explain clearly.  For example, "No header comments: -5.  Program doesn't check for invalid input: -10"  If the student does well, praise is in order.  This also helps me track student progress. Remember that the point of having them write programs is so they can learn, and your feedback is an important part of that process.
2. Prompt feedback is important to students.  Assignments must be graded and grades available to the student within 7 calendar days of the due date.  If you cannot do this, please let me know as soon as you know.  Therefore, please get an early start on grading.  Never procrastinate because you don't know what to do.  Contact me.  I'll generally get in touch with you shortly after I give an assignment.
3. Read the assignment specification carefully before you start grading.  If necessary, especially for the first few assignments and large projects, come and talk with me about grading and we can do a few together so you can get a feel for serious problems versus minor errors.  I generally keep a text file of common errors and how many points to take off for each, from which I can copy and paste.  For nearly every programming assignment I give, comments are 10% of the grade.  If there are no comments, always take off the full 10 points.  If there are no header comments, always take off at least 5 points.  A perfect score is reserved for truly excellent work.
4. Consistency of grading is crucial.  If you take off five points for incorrect output in one case in a program, every other program you grade must also take off 5 points for that same kind of error.  If possible, grade an assignment for the entire class at one sitting so you don't have to go back to it.
5. Give students the benefit of the doubt.  If a student goes beyond the stated requirements, do not take off points.  For example, some programs for introductory courses do not require error checking, but some students will include that.  Or the program will meet the requirements but also have some additional features.  Do not give lower grades for this kind of creativity and extra work.
6. The policy for late work is generally that the student loses 20 points per day late, and that work submitted more than five days late is worth a zero.  There may be exceptions to this on occasion, but I will inform you of them via e-mail or in person.  Otherwise, apply the penalties and inform the student in the comments.
7. Hide the grade column from students when you start and unhide it when you have graded all submissions.  That will let you go back and make changes should you decide to take off more or fewer points for a particular problem.  When you have graded everything, remember to make the column visible again.
8. If a program doesn't compile for you, remember that it probably did compile for the student, so look for the real reason.  Especially in introductory courses such as CS1337, students may use different compilers.  I'll tell them which compiler we're going to use for grading so they can make sure it runs with that one.  Deduct points only if you have verified that there are actual errors, not compiler differences. 
9. For graders who are paid hourly only: When you put your hours on Galaxy, also fill in the timesheet I have set up with some description of what you did.  This does not need to be long, just things like: "3/1/2016: Office hours 2:00 to 4:00" or "3/3/2016: Graded assignment 3 for 20 students, 5 hours."  Hours will only be approved when I can see what you did.  You can also use the "comments" section of the timesheet.  Hours with no description of your time will not be approved.  Hours entered more than two weeks after you actually do the work will not be approved except possibly at the beginning of the semester.  I will check at the end of every week for time needing approval. Make a habit of recording the information as you go along, not waiting until the end of the pay period and trying to remember.
10. Communicate.  You are required to meet with me once per week during my office hours or at a mutually convenient time to discuss grading criteria, go over your work, and discuss your class.  When communicating with the entire class, use the "Announcements" feature of eLearning and check the box that says, "Send immediately."  That way there is a record of what you sent and I get a copy.  Similarly, when communicating individually with a student, it is almost always a good idea to copy me. 
Guidelines for program comments can be found here: Documentation.htm