Correctness, design, and style are the three axes along which CS50 assesses student work. Correctness and style are autograded, but design is where you as a TF critique code and offer your qualitative assessment. Design is graded out of 5 points.

What is Design?

Design is about how a student has approached the problem: to what extent their solution is efficient, creative, and shows mastery of course concepts. For more on what to look for in design, see both the base grading guidelines and problem set-specific guidelines below.

Guidelines on Awarding Points

Design points are not subtractive—that is, a baseline grade is not a 5 and earning a 3 does not mean that a student has “lost two points” on an assignment or “earned a 60%” (two common interpretations we hear from students). Rather, points are used to characterize the extent to which a student has met, exceeded, or fallen short of the course’s expectations.

The course expects that most students on average will be earning a score of 3 or 4 on the Design axis, with perhaps a 2 serving as the low end. Reserve awarding a 5 only to those submissions that are exceptional, for which you can find absolutely no room for improvement. If you can propose even one modification that would improve efficiency, it’s not a 5 and should not be scored as such.

3’s and 4’s should be awarded to work that demonstrates a good to great mastery of the given week’s concepts and problem set. A student’s benchmark for success is considered a 3.

1’s and 2’s should be awarded to work that demonstrates a poor to fair understanding of the given week’s concepts and problem set. Awarding a 1 or a 2 indicates that there are substantial improvements to be made to the design of a student’s solution.

Grading FAQs

What if a student asks for an extension?

If a student asks for an extension, you should respond by directing the student to the lateness and extension policies in the syllabus.

How should I grade incomplete work?

If a student has submitted an incomplete solution, it is best to approach grading design in response to the question, “Given what the student has submitted, what evidence do I have that they have understood a good design approach to the problem?”. It’s best to avoid a scenario where a student is double-penalized for incompleteness on both correctness and design, but it’s also best not to extrapolate from a single function that a student has understood all of the week’s concepts.

How long should I spend grading?

This depends on the week! On average, aim to spend about 10 minutes per student in your section. Set a timer if it’s helpful!

Grading Deadlines

Problem Set 0 Grading Deadline 2023-06-26T11:59:00-04:00
Problem Set 1 Grading Deadline 2023-06-29T11:59:00-04:00
Problem Set 2 Grading Deadline 2023-07-03T11:59:00-04:00
Problem Set 3 Grading Deadline 2023-07-06T11:59:00-04:00
Problem Set 4 Grading Deadline 2023-07-10T11:59:00-04:00
Problem Set 5 Grading Deadline 2023-07-13T11:59:00-04:00
Problem Set 6 Grading Deadline 2023-07-17T11:59:00-04:00
Problem Set 7 Grading Deadline 2023-07-20T11:59:00-04:00
Problem Set 8 Grading Deadline 2023-07-24T11:59:00-04:00
Proposal Grading Deadline 2023-07-26T11:59:00-04:00
Problem Set 9 Grading Deadline 2023-07-27T11:59:00-04:00
Test Grading Deadline 2023-07-31T11:59:00-04:00
Status Report Grading Deadline 2023-08-03T11:59:00-04:00
Implementation Grading Deadline 2023-08-09T11:59:00-04:00

Base Grading Guidelines

For information on grading guidelines that apply to all problem sets, see the base grading guidelines.

Problem Set-Specific Grading Guidelines

The below pages include problem-set specific guidelines, as well as links to staff solutions on vault50.

Test Grading Guidelines