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

Homeworks are graded by the entire course staff, directly within Gradescope. To keep grading consistent, each numbered problem is graded by two undergraduate CAs, under the supervision of a graduate TAs, using a detailed rubric developed within Gradescope. Under normal circumstances, all homework should be graded within 10 calendar days of submission.

Exams are graded by Jeff and the graduate TAs, also within Gradescope. Under normal circumstances, exams should be graded within two weeks. We will not return the original ungraded paper exams; in particular, we will not return your cheat sheets. (However, we do retain the paper exams in case of scanning issues or significant grading disputes.)

Homework and exam solutions are posted at most a day after the corresponding submission deadline. Homework and exam solutions include all rubrics used by the graders.

Please doublecheck the posted solutions for correctness. If any posted homework solution contains a serious error, all students will receive a perfect score for that problem as extra credit. Yes, really. I did this twice the last time I taught 374.
Regrade requests

Submit your regrade requests directly within Gradescope. If you have questions or concerns about any grade, we strongly encourage you talk with the course staff before submitting a regrade request. However, no grades will be changed in any student's presence; you must submit an official request via Gradescope.

Initial regrade requests for each problem will be handled by the person responsible for grading that problem—either Jeff or one of the graduate TAs. Jeff will handle all additional requests and/or disputes.

Regrade requests for any problem must be submitted within 10 working days after the scores for that problem are released. (Weekends and university holidays are not working days.) We will not accept late regrade requests. Regrade requests for the final exam can be submitted up to 21 calendar days after exam scores are released. We will consider regrade requests submitted (or still outstanding) after the final exam only if a successful regrade would change the student's overall course grade.

All regrade requests must include a brief written justification for the request. (Fill in the appropriate textbox on Gradescope.) Here are some examples of good justifications; this is not a complete list.
 My answer agrees with the posted solution, but I still lost points.
 You took off points for missing the base case, but it's right here.
 I lost 4 points for incorrect time analysis, but the rubric says that's only worth 2 points.
 My answer is correct, even though it does not match the posted solution.
 There is no explanation for my grade.
 The official solution is incorrect; here's a counterexample. (Extra credit for everyone!)
 I got a perfect score, but my solution has an error! (Yes, really.)
Regrade requests with poor or missing justifications will be refused.

We can only grade what you actually submitted. You cannot get a higher grade by explaining what you meant, either in person or in writing. Your original submission must stand on its own.

If you submit a regrade request, we reserve the right to regrade your submission from scratch. Your grade can go down.

If you submit a regrade request correctly reporting that a problem was graded too leniently—meaning your score is actually higher than the published rubric indicates—you will keep your original grade and you will be awarded extra credit. Yes, really. Five students took advantage of this policy the last time I taught 374.
Final course grades
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.
HwCount = min(24, max(actual number of homework submissions, 16))
HwWeight = HWcount * 0.0125
HwAve = (sum of HWcount highest homework scores) / (HWcount * 10)
ExAve = (sum of exam scores) / (max possible sum of exam scores)
RawTotal = HwAve * HwWeight + ExAve * (1.0  HwWeight)


20% ≤ Homework ≤ 30%:
Each submitted homework problem is worth 1.25% of your raw total, up to a maximum of 30%.

We expect to assign and grade about 30 homework problems during the semester.

We will count a maximum of 24 problems, dropping the lowest scores if you submit more than 24 problems.

Any student who submits less than 16 homework problems will be given an automatic F.

This flexible homework policy implies that submitting only “I don't know” will almost certainly hurt your course grade more than submitting nothing at all.

70% ≤ Exams ≤ 80%:
There will be two midterm exams, each worth ≥20% of your raw total, and a cumulative final exam worth ≥30% of your raw total. If you submit less than 24 homework problems, your exams are given correspondingly higher weight. We do not plan to drop any exam problems.

Exceptions:
 Forgiven homework will be treated as if it did not exist; submitted homeworks will have more weight in the overall grade computation. In exceptional cases, we may compute course grades based entirely on exams.
 Forgiven midterms will be treated as if they did not exist; the other exams will have more weight in the overall grade computation.
 Anyone who misses both the final exam and the conflict final exam will be given an ABS (“absent from final”), which is equivalent to an F, unless they get an Incomplete from their college.
 We will not drop zero grades that result from academic integrity offenses.
 Compute adjusted totals, which include extra credit points. Extra credit points are not necessarily worth the same as regular points.
 Remove outliers and other exceptional cases.
 Anyone with an adjusted total over 95%. These students automatically get an A+. This rule typically applies to the top 2–3% of the class. I reserve the right to lower the 95% cutoff.
 We reserve the right to give any student meeting at least one of the following conditions an automatic F:
 Adjusted total below 35%
 Adjusted exam average below 25%
 Submitted less than 16 homework problems
 Otherwise does not appear to making a goodfaith effort
This rule typically applies to the bottom 23% of the class. These are not the only ways to fail!
 Anyone who misses a regular exam—even if they take the corresponding conflict exam—or has a significant number of forgiven homework. (Letter grades for these students are assigned as described in step 5 below.)
 Anyone who answers more than five numbered exam questions with "I don't know". (Letter grades for these students are assigned as described in step 5 below.)
 Determine lettergrade cutoffs from raw totals. Outliers and expeptions 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 from adjusted totals (except for A+ and F outliers).
 Adjust final letter grades upward at the instructor's whim.
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 from Fall 2016 to Spring 2018. 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

Typical  67% ± 13%  42%
 23%  29%  29%  15%  3%

Here are the grade distributions for all Jeff's previous offerings of CS 473. Here, only undergraduate grades are used to define the lettergrade cutoff; the mean is the center of the B range, and each standard deviation is worth 3/4 of a letter grade. 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%
