About grades

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

Your exam grades are normalized to a z-score. The z-score is:

(your_grade - average_grade)/(standard_deviation)

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.15 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 77.5 83.3 76.1
Std. dev. 13.9 11.6 16.7

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 for substantially more than written assignments.

Final grade

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

Two factors may override your final grade:

Cheating:
If you are caught cheating in any way, I will assign you a grade of F. Your actions will also be reported to the department and to your dean.

Not doing programming assignments:
If you do not turn in programming assignments or turn in truly pathetic submissions (that do not come close to working) you will not get a grade exceeding a D.