CS 473: Grading Policies
If you have any questions or concerns, please ask in lecture, during office hours, on the course website, or by email.

Homeworks are graded by the entire course staff. To keep grading consistent, all submissions for each numbered problem are graded by the same person. To keep grading fast, all required homework problems are graded on the following scale:
 Missing, not even wrong, or committing one of the Three Deadly Sins.
(This score should be rare.)
 A goodfaith incorrect solution, or "I don't know"
 On the right track, but with significant errors or omissions
 Mostly correct, but with a few minor errors or omissions
 Absolutely perfect. (This score should be rare.)
For homework problems with multiple parts, each part is graded on this 4point scale and part scores are averaged. Homework solutions may include more detailed 10point rubrics, reflecting how we would grade each problem if it had appeared on an exam. A score of n points on this 10point scale corresponds to a score of ceiling(n/3) on the 4point scale.

Extracredit homework problems are graded on the same 4point scale, but using stricter standards than required problems. In particular, the "I don't know" policy does not apply to extra credit problems, and solutions must be at least partially correct (or creatively incorrect) to receive any partial credit.

Exams are graded by Jeff and the graduate TAs. Again, each numbered problem will be graded by the same person. Most exam problems are graded on a 10point scale. Exam solutions will include the detailed rubrics used to grade each problem.

Students can look up their homework and exam grades on Moodle. We will also post a summary of exam grades on the course web page—just a sorted list of numbers, without names—so that students can see their relative standing in the class. Under normal circumstances, all homework should be graded about one week after submission, and all exams should be graded at most two weeks after submission.

Solutions for each homework and exam will be posted at most a day after the submission deadline. If any posted solution contains a serious error, every student will receive a perfect score for that problem as extra credit. Yes, really.

Please check that all your grades are tabulated and recorded correctly. In particular, please check your graded exams for arithmetic errors, and please verify that you got credit for any group work submitted by another group member. If you notice a mistake, please bring your graded work to Jeff or one of the TAs; we will correct the error immediately.

If you have any questions about your grade, please ask in office hours. However, except for arithmetic or recording mistakes, no grades will be changed in the student's presence.

All regrade requests must be submitted in writing and must include a brief written explanation of why you think your score is incorrect. (For example, "My answer agrees with the posted solution." or "My score does not match the posted rubric." or "The grader did not provide any explanation for their score." or "My algorithm does not match the posted solution, but it is still correct." or "The posted solution is incorrect; here's a counterexample.")

To request a homework regrade, email your request to one of the TAs, or post a private question on Piazza, with the subject line "
CS 473 REGRADE REQUEST
". Please also include:
 Your name and NetID
 If you are not the person who submitted: the name and NetID of the submitter

To request an exam regrade, staple your request to the front of your graded exam and give it to Jeff.

We can only grade what you actually wrote. You cannot get a higher grade by explaining what you meant. For homeworks, we will regrade your original Moodle submission. Modifying your exam before requesting a regrade is an egregious violation of academic integrity policies, which will result in an automatic F in the course.

Regrade requests must be submitted at most two weeks after graded work is returned. Except for arithmetic and recording mistakes, late regrade requests will be ignored.

Under normal circumstances, regrade requests should be processed at most one week after they are submitted.
We will determine final course grades using the following algorithm. (What do you expect from an algorithms course?)
 Compute raw totals from homework and exam scores, excluding extra credit. Course work is weighted as follows:

30% Homework:
We will drop the five lowest problem scores (roughly two full assignments).

70% Exams:
There will be two midterm exams, each worth 20% of your raw total, and a cumultive final exam, worth 30% of your raw total. We do not plan to drop any exam problems.

Exceptions: Any forgiven homeworks or exams will be treated as though they were never assigned; we will drop the same fraction of unforgiven scores. On the other hand, we will not drop zeros that result from cheating offenses.
 Compute adjusted totals, which include extra credit points. Extra credit points do not necessarily have the same weight as regular points.
 Remove outliers at both ends of the curve.
 Anyone with an adjusted total over 95% automatically gets an A+. This rule typically applies to the top 2–3% of the class. I reserve the right to lower the 95% cutoff.
 Anyone with an adjusted total below 40%, or who has submitted less than 50% of the homework, or who otherwise does not appear to be making a good faith effort in the class, automatically gets an F. This rule typically applies to the bottom 1–2% of the class. This is not the only way to fail!
 Determine lettergrade cutoffs from the undergraduate raw totals. Outliers and graduate students are excluded from the cutoff computation to avoid unfairly skewing the curve for undergraduates. The mean is the center of the B range, and each standard deviation is worth 3/4 of a letter grade. 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.
 Compute final letter grades (for nonoutliers) from adjusted totals.
 In particular, grades for graduate students are determined by comparing their adjusted total to the undergraduate curve.
 Adjust grades upwards at the instructor's whim.
Jeff has only taught this class once before, so we don't have enough information to give a "typical" grade distribution. Here is the distribution from the Spring 2015 pilot offering, which used the grading algorithm described above.
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

For comparison, here are rough statistics from the last five times Jeff taught the old version of CS 473. (See below for a possible explanation for the significant jump in 2010.) Here the mean was at the C+/B– boundary, and each standard deviation was a full letter grade.
Semester 
Mean ± stdev 
Min pass 
#As 
#Bs 
#Cs 
#Ds 
#Fs 
Fall 2006  65% ± 11%  40%
 25  26  23  13  5

Spring 2009  66% ± 13%  43%
 21  25  26  14  2

Spring 2010  72% ± 12%  47%
 24  34  35  16  3

Fall 2012  71% ± 13%  44%
 36  51  42  33  2

Fall 2013  73% ± 11%  50%
 49  58  55  19  2

Typical  72% ± 12%  47%
 24%  30%  28%  15%  3%

Finally, here are rough statistics from Jeff's previous offerings of CS 374. Again, the mean was at the C+/B– boundary, and each standard deviation was a full letter grade. The average scores were significantly lower than in CS 473, but this reflects changes in grading standards (and the novelty of the course) more than the abilities of the students.
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

I used to drop the lowest problem from each exam in CS 473, but in practice, this policy had the counterintuitive effect of lowering students' grades, for behavioral rather than statistical reasons. Many students would just ignore one problem on each exam, but they often ignored the wrong problem.
In 2010, I switched to a policy of dropping the lowest three three exam problems across the entire semester. With this new policy, the strategy of ignoring one problem on each exam virtually disappeared; surprisingly, this lead to a significant improvement in overall averages! See the statistics above.
However, dropping the lowest exam scores actually lowers more grades than it raises, because of more subtle statistical effects. Dropping scores raises everyone's average (as a percentage of the maximum possible score), which means it also raises the mean. If you have mostly high scores with a few low outliers, dropping the low outliers raises your average. But if all scores to be about the same, dropping the lowest scores actually lowers your average relative to the rest of the class.
So now we just keep it simple. Every exam problem counts.
I drop homework scores for a different reason — sometimes students get sick or overwhelmed, or they need to travel, but the class is too complex to fairly and reliably deal with extensions. Homework scores are typically high enough and their contribution to the final course grade is low enough to avoid any counterintuitive statistical effects. Or so I tell myself.