Go up to the CS 2150 page (md)
There were 11 full-length labs, but we canceled post-lab 9 due to the Thanksgiving holiday. Thus, there were 32 lab parts (10 labs of 3 parts each, plus 2 parts of lab 9). Lab 5 had the AVL tree worksheet, which counted as 4 more points. So the total number of points for the labs was 32*10+4 = 324. As per the syllabus (md), labs counted for 45% of the final course grade.
Each midterm counted for 15% of the final course grade, even though the total number of points on each midterm was different. The final counted for 25% of the final course grade.
This grade breakdown (how much each part counts for the final grade) is as listed on the course syllabus (md).
For exam 1, we promised a curve of "10 to 15 percentage points" (source). Let's assume that means 12.5 percentage points. This exam was worth 15% of the final grade, so 15% * 12.5% = 1.875 points added to your final course average due to this exam curve.
Likewise for exam 2 we promised a curve of "at least 15 percentage points". Let's assume that means 17.5 percetage points. This exam was worth 15% of the final grade, so 15% * 17.5% = 2.625 points added to your final course average due to this exam curve.
Thus, there was a total of 4.5 points added to your final course average due to the curves on the midterms.
Since the final exam is graded at the very end of the semester, any final exam curve is just absorbed into the overall course curve, so we didn't give an explicit final exam curve.
We decided to give an overall course curve of 2.0 points. One could look at this as a curve on just the final (which would be 8 points) or on the overall course. This was to compensate for some overly strict grading on the labs and the final exam.
So we have a curve of 4.5 points from the first two exams, and a curve of 2.0 points as an overall course curve. Thus, add 6.5 points to your final average (from the course gradebook), and that round that up if necessary.
Yes, we round grades. Note that round(x) == floor(x+0.5)
. So instead of adding 6.5 (from above) and rounding, you can just add 7.0 and don't round. But doing it this way means that rounding has already happened, so if you get an 89.9999999999999999999, it's still a B+, no matter how many times you ask - you don't get to round a second time (in reality, it was an 89.49).
As stated at the beginning of the semester, each 10-point "decade" is a separate letter grade range (60-70 is a D, 70-80 is a C, etc.). The exact ranges are below. Take your average from the course gradebook and add 7.0 for the curve (or add 6.5 and then round), then see where the result lies on this table.
Minimum course average | Letter grade |
---|---|
60 | D- |
63 | D |
67 | D+ |
70 | C- |
73 | C |
77 | C+ |
80 | B- |
83 | B |
87 | B+ |
90 | A- |
93 | A |
100 | A+ |
Recall (again!) that rounding has already been taken into account! Thus, the cut-offs listed above are hard cut-offs.
Note that the A+ range follows a different algorithm. The A+ range is a percentage of the class (the top 6 people, which ended up being an (uncurved) average of 94.0 or above). A 60 is the minimum passing grade for a D-. You must receive a C- (70) or higher to take CS courses that have CS2150 as a pre-requisite.
The following table shows the percentage of students who earned each letter grade. We've grouped it by general letter grade (i.e., A means all A+, A, and A- grades).
Letter Grade | Percent students earning that grade |
---|---|
A | 37.4% |
B | 36.3% |
C | 15.1% |
D | 4.8% |
F | 6.4% |
The grades have been copied into Collab, and are being submitted to SIS today (Dec 19, 2018).