Your final grade for this course is computed through an arcane process of fiddling around with weights and algorithms until I get results that I (not necessarily you) feel are fair and reasonably generous.

# Exams

This compensates for different means scores and standard deviations on the exams. From the z-score, a continuous-scale GPA is computed. All exams carry the same weight and the lowest exam grade (based on the z-score) is dropped.

For example, suppose a student gets a 58 on exam 2, where the mean grade is 48.8 and the standard deviation is 18.5. Her z-score is (58-48.8)/18.5 = 0.497. This is equivalent to a grade of 81.5 on exam 1, where the mean grade was 74 and the standard deviation was 15.1. Hence, if the same student got a score of 75 on exam 1, the 75 would be the lower of the two grades.

To get an idea of how your grade measures up, compute your z-score and add 3.1 to it to get a GPA for that exam grade (disclaimer: I may change this factor). Using the above example, the grade of 58 for exam 2 corresponds to a GPA of approximately 3.6.

Here are the mean grades and standard deviations for the exams:

Exam 1 Exam 2 Exam 3
Average 73.8 78.9 64.1
Std. dev. 15.1 13.9 15.6

# Assignments

Homework assignments are not normalized to mean grades but stand on their own. They are normalized only to the maximum number of points allotted for that assignment. For example, a grade of 8 where the maximum score is 10 is identical to a grade of 80 where the maximum score is 100. Programming assignments count more than written assignments.

# Quizzes

As with assignments, quiz grades are also not normalized to mean grades.

Two sets of scrores are computed from the exam and assignment grades: one allots a greater weight for your assignments than the other. Of these two scores, the greater one is picked for your grade.