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

Please check that your grades are tabulated and recorded correctly. If you notice a mistake, please bring your graded work to Jeff or one of the TAs; we will correct it immediately.

If you believe that your work has been graded incorrectly, please request a regrade. Homework will be regraded by the TAs; Jeff will regrade exams. To request a regrade, resubmit the work in question along with a brief written explanation. (For example, "My answer agrees with the posted solution." or "My grade does not match the posted rubric." or "My algorithm does not match the posted solution, but it is still correct." or "The posted solution is incorrect; here's a counterexample.")

We can only grade what you actually wrote. You cannot get a higher grade by explaining what you meant. Modifying your homework or exam before asking for 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 graded work is returned. Except for arithmetic mistakes, late regrade requests will be ignored.
 If you submit a regrade request, we will regrade the submitted problem from scratch. Your grade may go down.

We will readily admit, apologize for, and correct our mistakes if you have been graded unfairly. However, please remember that "unfairly" means your grade is inconsistent with the published grading rubric, or that you were graded more harshly than other students, not just that you think the rubric is too harsh. Please also keep in mind that each homework point is worth approximately 0.1% of your final course grade. Frivolous regrade requests will be met with the scorn they deserve.

If any posted solution contains a serious error, all students will receive a perfect score for that problem as extra credit. Yes, really.
We will determine final course grades as follows.
(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 expect to assign about 30 homework problems, yielding about 40 homework grades: 30 for correctness and 10 for style. We will drop your eight lowest problem scores (two full problem sets).

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 each student's 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 are not necessarily worth the same as regular points.
 Remove outliers at both ends of the curve.
 Anyone with an adjusted total over 90% automatically gets an A+. This rule typically applies to the top 2–3% of the class.
 Anyone with an adjusted total below 33% or an adjusted homework total below 50%, or who otherwise does not appear to be making a good faith effort, automatically gets an F. This rule typically applies to the bottom 23% of the class. This is not the only way to fail!
 Determine lettergrade cutoffs from the raw totals. Outliers are excluded from the cutoff computation to avoid unfairly skewing the curve. The mean is a borderline B–/C+, and each standard deviation is worth one full letter grade. For example, the B+/B cutoff is 2/3 standard deviations above the mean, and the D/D– cutoff is 5/3 standard deviations below the mean.
 Compute final letter grades (for nonoutliers) from adjusted totals.
 Adjust grades upwards at the instructor's whim.
Here are rough statistics from the last five times Jeff taught CS 473. (See below for a possible explanation for the significant jump in 2010.)
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%

Here are rough statistics from the previous offering of CS 374. The averages were significantly lower than in CS 473, but I think this reflects our naïveté about teaching teh 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

I used to drop the lowest problem from each exam, but in practice, this policy had the counterintuitive effect of lowering students' performance, 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 grade 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 big and complicated to reliably deal with extensions. Homework scores are typically high enough and their contribution to the final course grade is low enough to avoid the counterintuitive statistical effects. Or so I tell myself.