I would like to know how Canvas rounds grades when calculating a final grade. For example, on a test, if a student answers 35 out of 64 questions correctly, Canvas displays "54.69%" as their grade. The statistics under "Assignment Details" does show that the grade is actually 54.6875%. When calculating the Total Grade, does Canvas use the rounded number (e.g., 54.69%) or the statistical number (e.g., 54.6875%)?
When exporting the Canvas grades to a CSV file to use in a spreadsheet, the statistical number is exported. I use this data to project the grade a student will need on the final exam to pass the course or to make a desired grade. In order for the projected grade to be accurate, I need to be able to round the grades in the spreadsheet to the same precision that Canvas rounds grades.
And yes, this semester, my calculations showed that a student failed the course by .004 points, but Canvas calculated a passing grade (fortunately for that student!). As the final exam is always a high-stakes test, I want to be more accurate in my projection. I am assuming that Canvas rounds ALL tests to two decimal places before calculating the final grade, but I'd like to be sure!
Dinah Peters ,
Canvas uses points and not percentages, so the short answer is "No", it doesn't use either 54.69 or 54.6875. If the quiz is worth 64 points, then it uses 35. If the quiz is worth 100 points, it would depend on how many points the student actually got -- this isn't your situation given the numbers you're throwing out.
If you're using a points-based gradebook, then you take the total points the student got divided by the total points possible for that student and round that to 2 decimal places.
If you're using a weighted gradebook, then it takes the points achieved divided by the points possible and multiplies that by the weight for that assignment group. It does this for each assignment group and then adds them together. The rounding is done at the very end of the process, not at the intermediate steps.
Here is the relevant portion of the Canvas source code that shows the calculations.
Things get even more complicated if you start throwing in rules like excluding the lowest score.
Another note is that decimal calculations in computers is difficult because of the problems of representing decimals in binary form. Sometimes small rounding errors may occur and you should try to make sure than any problems worth fractions of a point end up being 1/2 or 1/4 to avoid problems. A multiple drop-down question with 2 or 4 parts can be represented exactly, but if there are 3 or 5 parts, it may cause rounding issues. Those are usually not the 0.004 that you're talking about, though, they're much smaller. I just wanted to point out that there might be something else going on.