About grades

Final Grades

Pre-final grades are posted on sakai. This is the grade that you will receive if you do not take the final. Grades are on a standard 4-point scale:

A: 4.0     B+: 3.5     B: 3.0     C+: 2.5     C: 2.0     D: 1.0     F: 0.0

Final exam information is posted on the exam page.

You have the option of taking the final exam. The Bump Grade that is posted on sakai is the grade that you need to get on the final to raise your course grade to the next half grade level (e.g., B to B+). A bump grade of 0 means that there is no grade on the final that will increase your final course grade and you should not take the final. However, if you missed any mid-semester exam, you will need to take the final to pass the course.

In computing grades, I drop the lowest exam grade. Right now, you have a grade of zero for the final exam and that grade is dropped. A better performance on the final exam may result in another exam being dropped instead of the final. If all your grades were generally consistent, it is unlikely that good performance on the final will affect your grade. I will not reward you for taking the final.

Those of you who were close to a higher grade and did not do well on one exam may see a low bump grade. Attaining that low score will increase your final course grade. Those of you who were mostly consistent in your exams and were not close to the threshold of a higher grade may find either a high bump grade or a 0, meaning that even a 100 on the final will not raise your grade.

If you decide that you definitely plan to take the exam, please let me know. If your bump grade is not zero and you decide that you definitely plan not to take the exam, please let me know as well so I will not print extra copies. If your bump grade is a zero, I do not expect you to take the final.


Your 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, consistent, and reasonably generous.


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

(your_grade - average_grade)/(standard_deviation)

This compensates for different mean scores and standard deviations on the exams. The mean is the class average and the standard deviation measures how wide the grade distribution spreads out. A z-score of 0 means you're at the exact class average. A z-score of 1 means you are one standard deviation above the class average; that's about the 84% percentile. A z-score of -1 means you are one standard deviation below the class average; that's about the 16th percentile. See here to read more about standard scoring if you're curious.

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.

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. All exams carry the same weight and the lowest exam grade (based on the z-score) is dropped.

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

  Exam 1 Exam 2 Exam 3
Average 73.8 79.1 69.4
Std. dev. 16.6 12.7 17.8

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.


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.

Exams constitute the dominant part of your course grade. However, missing assignments or exceptionally poor performance on assignments will hurt your final grade. For example, if your grade is a low B (e.g., 2.8, 3.1), poor performance on assignments may bring it down to a C+. Conversely, good performance on assignments may help boost your grade. For example, if your exam grade was around 2.35 (a low C+), good performance on assignments and quizzes may boost it to a 3.0 (B).


If quizzes are given in the class, quiz grades are also not normalized to mean grades. The lowest quiz grade (e.g., a missing quiz) will be dropped. Others will be averaged together. I expect good performance on homework assignments and quizzes. To a large extent, homework assignments and quizzes do not boost your grade as much as keep it from being lowered. Missing several quizzes or homework assignments can hurt your grade.

Final grade calculation

I expect you to take the quizzes and do any assigned homework assignments and projects. Grading on assignments and projects will be generous. Assignments, projects, and quizzes will not count for a large percentage of your course grade; exams will dominate your grade. However, not doing your assignments will hurt. I may alter the values as I play with the grades toward the end of the semester to find values that I feel are fair but expect a 0.1 GPA penalty for every missed assignment, a 0.25 GPA penalty for every missed programming assignment, and a 0.8 GPA penalty for each missed quiz (with an allowance of two missed quizzed without a penalty).

I compute two sets of scores 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. As with penalty points, the exact weights may change as I try to find values that I feel are fair but I currently expect the following weights:

Quizzes: 4%, homework: 6%, projects: 8%, exams: 82%
Quizzes: 5%, homework: 9%, projects: 11%, exams: 75%

A few factors may override your final grade:

If you are caught cheating in any way, I will report you to the office of student conduct and await their verdict on your grade. This may lead to failure in the course. Your actions will also be reported to the department and to your dean.
Not doing programming assignments:
If you do not turn in any programming assignments or turn in truly pathetic submissions (that show little to no effort and do not come close to working) you will not get a grade exceeding a D.
Missing assignments:
Missing assignments will have a negative effect on your grade.
Missing multiple quizzes
This is a sign of low attendance. Please see the Rutgers policy on Attendance and Cancellation of Classes (but note the class policy: do not send me notifications of your absences).