Go up to the CS 2150 page (md)
I had originally intended to base this on lecture attendance, but I could not figure out a fair way to take attendance during lecture. With such big classes, having everybody write their userid down on a piece of paper is too error-prone to be considered fair -- in the past few semesters, many people who did attend lecture were marked as absent. I realize that not counting attendance was not the most fair to those who did attend lecture, but I don't know how to do it properly and fairly. I could do it electronically, but then anybody could check-in from outside the lecture hall.
Thus, I gave everybody 100% on participation.
The number of Piazza contributions is counted as a bonus to your participation grade. This is mostly answers posted (among a few other factors), but does generally not include questions asked. Each contribution listed contributed 1 percent to your overall participation grade. While this may not seem like much, keep in mind that some students had dozens (or hundreds!) of contributions via Piazza. Note that the Piazza contributions only added to your participation grade; not contributing anything would still get you 100% participation grade.
Github pull requests also got a bonus as well.
This score is displayed out of 100, and in all cases was an integer score.
There were 11 full-length labs, and lab 12 which had two parts. Lab 5 had the AVL tree worksheet, which counted as 4 more points. Thus, there were 35 lab parts (11 labs of 3 parts each, plus one lab of 2 parts). So the total number of points for the labs was 35*10+4 = 354. Labs counted for 40% 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.
The grade breakdown (how much each part counts for the final grade) is as listed on the course syllabus (md).
The grades on the midterms were relatively high that I did not give an explicit curve on the midterms. However, they were not exactly in the range I aim for (low 80's), so I took this into account when considering the course curve (below).
Yes, I round grades. Note that round(x) == floor(x)+0.5
. So I added 0.5 points to everybody's curve to take into account rounding. Note that this means rounding is already taken care of, 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).
The curve so far is 0.5 from rouding. I rounded that up to 2.0 for the final course curve. Thus, everybody got 2 points added to their average (your average being what the gradebook reports). Note that this already includes rounding, so you don't get to round a second time!
This course curve was a bit lower than in previous semesters, but the reason is that the exam and lab scores were higher than previous semesters. There was still a higher percentage of A's this semester than last semester.
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, taking into account the course curve mentioned above, are below. Note: the following table ALREADY includes the course curve! So you take your exact average from the gradebook and see where it lies on this table. And rounding has already been taken into account (see above), so you don't get to round a second time.
Minimum course average | Letter grade |
---|---|
50.0 | D- |
61.0 | D |
65.0 | D+ |
68.0 | C- |
71.0 | C |
75.0 | C+ |
78.0 | B- |
81.0 | B |
85.0 | B+ |
88.0 | A- |
91.0 | A |
96.0 | A+ |
Note that the A+ range and the D- range follow a slightly different pattern. The A+ range is a percentage of the class (in this case, the top 11 course averages), and thus ended up being 96.0. The D- range extends down a bit more.
I've enabled the (terrible) Collab gradebook tool, and imported all the grades into there where they will live for all eternity. Or at least until UVa doesn't feel like keeping them around any more...
There were 8,790 lab grades assigned throughout the semester: about 250 students times 35 lab parts is 8,750; the difference was from students who dropped or withdrew from the course. There were 282 regrades that were submitted (3.2% of the graded assignments). Of those, 56 were due to extensions, and 64 more did not have any grade change. Thus, there were only 282-56-64 = 162 regrades where a grade was changed. That is only a 1.84% error rate.