CS302 Final Grades - Spring, 2008

Jim Plank

My grading scale is as follows: With the lab scores, I did a little fiddling with late labs. If you don't understand your lab score, it means that your score is a little higher than what it would have been had I not fiddled, so please don't pester me about it. Your lab score is multiplied by 100/1100, and then counts 50%.

To convert the midterm and final to a score in that range, I use the following routine:

double A = 90.0;
double B = 80.0;
double C = 70.0;
double D = 60;

double test_convert(double score, double top, double a, 
                    double b, double c, double d)
{
  if (score >= a) {
    return (score - a)/(top - a) * (100.0-A) + A;
  } else if (score >= b) {
    return (score - b)/(a - b) * (A-B) + B;
  } else if (score >= c) {
    return (score - c)/(b - c) * (B-C) + C;
  } else if (score >= d) {
    return (score - d)/(c - d) * (C-D) + D;
  } else {
    return (score)/d * (D);
  }
}

The midterm scores are converted with:

  score = test_convert(tmp2->val.d,  51.5, 41, 35, 30, 25);
and the final scores are convered with:
  score = test_convert(tmp2->val.d, 41, 34, 24, 19, 14);

I counted the midterm and final 25% each, and the labs 50%.

Final tally: 4 A+s, 4 A's, 3 B+'s, 3 B's, 5 C+'s, 1 C, 3 D's.

Below are histograms for the final grades and the labs: