CS 473: Grading Policies

If you have any questions or concerns, please ask in lecture, during office hours, or on Piazza.

Graded work

Regrade requests

Course grades under COVID-19

(Revised in June 2020 to reflect policies posted on the main course web page and Piazza during the semester.)

This class was offered on a Pass/No-Pass basis in response to the COVID-19 pandemic shutdown, in accordance with the campus's Academic Policy Modifications for Spring 2020. These policies allowed instructors to petition for their classes to switch from standard letter grades to Pass/No Pass "in cases where the modification in course assessment makes it extremely difficult to fairly follow our standard grading system".

Pass/No Pass is distinct from the universty's usual Credit/No-Credit option, which students request on an individual basis for classes that normally offer letter grades. Offering a class Pass/No Pass means that those are the only two grades available; there is no option for students to individually request letter grades.

I do not believe it was possible to fairly assess students under the circumstances imposed by the COVD-19 pandemic. While many students made the transition to online instruction smoothly, others had (or still have) extenuating circumstances that made focusing on this class impossible, such as time zone differences, sick family members, loss of child care, loss of family income, an unsafe home environment, unreliable or unavilable broadband, and the mental health effects of social isolation.

Moreover, the sudden switch from on-campus to remote instruction required signficiant changes in how we offered exams: Instead of synchronous, in-person, proctored, closed-book exams like Midterm 1, this semester's Midterm 2 and final exam were offered asynchronously, online, unproctored, open-book exams. I do not believe we could fairly judge performance on such exams using the grading standards we advertised at the start of the semester, or calibrate against exams offered in previous semesters.

To that end, we abandoned the usual grading curve (described below). Mirroring grade cutoffs from previous semesters, we announced the following criteria for passing the class:

(Everyone who met the second criterion also met the first.) We also dropped the minimum homework requirement. Finally, students who took both midterms and already met these criteria before the final exam—meaning they would pass with a final exam score of zero—were not required to take the final exam.

Despite the move to Pass/No-Pass, we contined to offer and grade homework assignments normally, to provide useful pracice and feedback, for the students' own benefit. We still offered all exams as announced at the start of the semester, and we continued to grade both homeworks and exams as usual. Our assumption was that studentws were here primarily to learn, and that it was our job to help them learn to the best of our ability.

Final course grades (usually)

Under normal circumstances, this is how we would have determined final course grades. (What do you expect from an algorithms course?)
  1. Compute raw totals from homework and exam scores, excluding extra credit.

     HwCount  = min(24, max(actual number of homework submissions, 16))
     HwAve    = (sum of HWcount highest homework scores) / (HWcount * 10) 
     ExAve    = (sum of exam scores) / (max possible sum of exam scores)
     HwWeight = HWcount * 0.0125
     ExWeight = 1.0 - HwWeight
     RawTotal = HwAve * HwWeight + ExAve * ExWeight

  2. Compute adjusted totals, which include extra credit points. Extra credit points are not necessarily worth the same as regular points.

  3. Remove outliers and exceptional cases.

  4. Determine letter-grade cutoffs from the undergraduate raw totals. For example, the B+/A– cutoff is 2/3 standard deviations above the mean, and the B–/C+ cutoff is 2/3 standard deviations below the mean. Outliers and graduate students are excluded from the cutoff computation to avoid unfairly skewing the curve for undergraduates.

    (I am likely to change this policy in future semesters. Unlike when the course was launched, graduate students do not significantly outperform undergraduates.)

  5. Compute final letter grades (for non-outliers) from adjusted totals.

  6. Adjust grades upwards at the instructor's whim.

Past grade distributions

Here are the grade distributions for all Jeff's previous offerings of CS 473. This isn't really enough for the “typical” distribution to make sense, but there it is anyway. (Spring 2015 was a pilot offering, which did not use the current flexible homework percentage.)

Semester Mean ± stdev Min pass #As #Bs #Cs #Ds #Fs
Spring 2015* 65% ± 12% 42% ugrads: 7 12 5 0 0
grads: 13 6 0 0 0
Spring 2016 74% ± 11% 42% ugrads: 27 29 21 3 0
grads: 11 11 0 0 0
Spring 2017 73% ± 13% 41% ugrads: 28 30 22 3 4
grads: 6 7 3 0 0
Typical 72% ± 12% 42% ugrads: 32% 37% 25% 3% 2%
grads: 52% 42% 5% 0% 0%

For comparison, here are the grade distributions for all of Jeff's previous offerings of CS 374. Like this semester, the mean was at the C+/B– boundary, and each standard deviation was a full letter grade. Spring 2014 and Fall 2014 were pilot offerings, with significantly smaller enrollments, unsettled curricula, and no flexible homework percentage, so I don't regard those grade distributions as "typical".

I don't have a good explanation for the sharp improvement starting Spring 2018. (We did start distributing a large collection of practice/study problems before each exam in Fall 2016, but I don't think that's a sufficient explanation.) I also don't have a good explanation for the differences in grade distributions between fall and spring semesters.

You can compare my grade distributions with others here.

Semester Mean ± stdev Min pass #As #Bs #Cs #Ds #Fs
Spring 2014* 59% ± 11% 38% 8 11 8 8 1
Fall 2014* 62% ± 12% 38% 16 22 22 12 0
Fall 2016 64% ± 12% 39% 87 113 124 60 14
Spring 2018 71% ± 14% 44% 70 87 74 36 5
Fall 2019 72% ± 12% 47% 68 99 89 54 11
Typical 68% ± 13% 43% 23% 30% 29% 15% 3%