Grading is probably not what you are most forward to in your teaching career.
Assessing your students is an essential part of your job
It is particularly important for the students!
Grading can be overwhelming
If you don't have enough (or any) TAs (getting more common as classes get bigger), you may not have enough time to do a good job grading (or it could simply take too much time)
It is easy to get behind in grading, and this can be painful long-term
Most importantly
You should focus your efforts on your students understanding and ability to do something, rather than their grades
Your students will directly correlate their grade to their understanding, which is not always true
What will you grade?
Not everything needs to be graded, e.g., in-class assessments, section problems, etc.
Exams, projects, presentations, problem sets should probably be graded
Students will perform differently on different types of assignments
You should attempt to grade a variety of types of assignments
Lecture 05: Grading
Do the best you can to give feedback on an assignment before the students hand in the next similar assignment
If students don't know what you expect, they will make similar errors again
Students do like to see how they are doing in the course as it progresses
Give feedback on what is correct and incorrect
Only some students will actually use the feedback, but it can be important
The more information you can provide, the better, but be judicious: you probably don't have to give as much feedback on a final exam as you might on the first assignment in the course.
TAs
You need to teach your TAs how to grade your assignments!
It is best if some TAs are veterans of TAing the course. They can mentor new TAs.
It is best if TAs have taken the course before
Sometimes, though, they expect it to be exactly the same as before!
Provide your TAs a clear rubric for grading
The more detail, the better
The rubric can be modified as grading goes on -- you may not expect some answers
It is a good idea to spot-check your TAs work, especially for new TAs
You want the TAs to grade consistently
Lecture 05: Grading
Grading Programming Assignments
If you can auto-grade for functionality, that can be a great tool -- don't make it the only grade!
Provide feedback for autograding tests! This doesn't have to give away the actual test, but it should provide some actionable information. E.g.,
Failed test for long input string (over 1024 characters).
Error: segmentation fault.
Having students write their own tests can be helpful, and you could have students write tests that get folded into other tests for other students
You want to provide some style guidance, especially for novice programmers
Spend as much time as is reasonable (this goes for your TAs, too)
One-on-one post-assignment meetings can be great, but are time-consuming
Grading Projects
The rubric is key -- you may consider giving it to the students ahead of time so they know what to expect
Have a calendar that students can rely on -- potentially grade at every checkpoint.
Grading individual work can be tricky!
You can have students grade each other in their group
Lecture 05: Grading
Grading Exams
This can take a considerable amount of time
Don't shy away from good multiple choice problems (e.g., "What is the output of the following program? A/B/C/D")
Grading parties work great, and TAs can bounce ideas off of each other (make sure you feed them!)
Use technology as best you can (Gradescope is a great tool)