The Instructure Community will enter a read-only state on November 22, 2025 as we prepare to migrate to our new Community platform in early December.
Read our blog post for more info about this change.
Found this content helpful? Log in or sign up to leave a like!
Hi
I'd like to weight the assignments within an assignment group differently based on the student's scores within that group.
Within the assignment group for exams, students have four scores. I do not want to drop any of the scores.
I want their highest score to be worth 35% of the value of the assignment group, their middle two scores to each be worth 25% of the value of the assignment group, and their lowest score to be worth 15% of the value of the assignment group.
The particular exam score that is the highest, middle two, and lowest will be different for each student.
Can Canvas do something like this?
Is there any work around that can produce this result?
Thanks for the help!
Solved! Go to Solution.
@BrendaWilborn1 Can Canvas do this? Yes — it just takes a crazy workaround that is even crazier given there are three weightings you want to apply.
Let's say your exams assignment group is weighted to be 50% of the total grade for the course.
You will now need to change that to three assignment groups so that you can account for three different values that all add up to that 50% — ag1 + ag2 +ag3 = 50%.
The Low Exam assignment group should be worth 7.5% of the total grade — 15% x 50% = 7.5% = ag1.
The Middle Exams assignment group should be worth 25% of the total grade — (25% x 2) x 50% = 25% = ag2.
The High Exam assignment group should be worth 17.5% of the total grade — 35% x 50% = 17.5% = ag3.
Now that we have the proper weightings, how do we get the right exams in each group? You will need to use drop the lowest and drop the highest as well as create duplicate assignments. In one group, say ag2, you have all 4 of the exams which are the actual exams the students will take. In ag1 and ag3, you create No Submission assignments and label them things like "Low weighted Exam 1" or "High weighted Exam 1". You then manually copy grades from the original exams into the new columns. This can be done faster through a Gradebook export, copying values over, and then a Gradebook import.
Finally, you have to set the rules for the assignment groups.
For ag1, we only want the lowest of the four scores, so drop the highest 3 exams.
For ag2, we want the middle two scores, so drop the lowest 1 and highest 1 exams.
For ag3, we only want the highest of the four scores, so drop the lowest 3 exams.
You've now kept 4 exams (from the 12 total columns).
it is a pain, but it is technically possible.
@BrendaWilborn1 Can Canvas do this? Yes — it just takes a crazy workaround that is even crazier given there are three weightings you want to apply.
Let's say your exams assignment group is weighted to be 50% of the total grade for the course.
You will now need to change that to three assignment groups so that you can account for three different values that all add up to that 50% — ag1 + ag2 +ag3 = 50%.
The Low Exam assignment group should be worth 7.5% of the total grade — 15% x 50% = 7.5% = ag1.
The Middle Exams assignment group should be worth 25% of the total grade — (25% x 2) x 50% = 25% = ag2.
The High Exam assignment group should be worth 17.5% of the total grade — 35% x 50% = 17.5% = ag3.
Now that we have the proper weightings, how do we get the right exams in each group? You will need to use drop the lowest and drop the highest as well as create duplicate assignments. In one group, say ag2, you have all 4 of the exams which are the actual exams the students will take. In ag1 and ag3, you create No Submission assignments and label them things like "Low weighted Exam 1" or "High weighted Exam 1". You then manually copy grades from the original exams into the new columns. This can be done faster through a Gradebook export, copying values over, and then a Gradebook import.
Finally, you have to set the rules for the assignment groups.
For ag1, we only want the lowest of the four scores, so drop the highest 3 exams.
For ag2, we want the middle two scores, so drop the lowest 1 and highest 1 exams.
For ag3, we only want the highest of the four scores, so drop the lowest 3 exams.
You've now kept 4 exams (from the 12 total columns).
it is a pain, but it is technically possible.
Hi james_whalley,
This make sense. Thanks for the help!
Canvas weights grades within an assignment group based on their possible point value. There is no built-in way to assign them based on relative score compared to other assignments within that assignment category.
One work-around is to create a separate assignment that contains the grade for the exams and then exclude all of the individual exam scores from their grades. If the exams are not Canvas Classic Quizzes, then there is an option to "Do not count this assignment towards the final grade" that you can use. If you are using a weighted gradebook, then you can put the four exams into a category that is worth 0% of the grade and put the one assignment that contains the composite score into a category that has a weight.
A second possiblity is to create a separate assignment worth 0 points that contains the adjustment to the score. This will work even if you are using Classic Quizzes without a weighted gradebook.
Whichever technique you use, you will be responsible for computing the score for that separate assignment. You could export the gradebook and use Excel to do the calculations for you.
For example, in Excel, you might have data that looks like this (it won't when you export the gradebook).
The formula I have in cell F2 is =AVERAGE(B2:E2)+(MAX(B2:E2)-MIN(B2:E2))/10
That formula is specific to your example. It gives all four grades equal weight and then adds the 10% for the highest score and subtracts 10% for the lowest score. Instead of dividing by 10, you could multiply by 0.1 to represent the 10%.
If you want just the adjustment in the grade, then that is =(MAX(B2:E2)-MIN(B2:E2))/10
Having a separate assignment with just the adjustment is easier to do if you are doing this by hand without Excel. All you need to do is take the difference in the high and low exam scores and divide that by 10. That would save you the hassle of exporting the gradebook. If you have a large class, exporting the gradebook, calculating the score or adjustment within that gradebook and the re-importing it into Canvas might be worth the hassle.
Hi James,
Thanks for the help. I was hoping there was a way in Canvas to do it but this is a good work around
Community helpTo interact with Panda Bot, our automated chatbot, you need to sign up or log in:
Sign inTo interact with Panda Bot, our automated chatbot, you need to sign up or log in:
Sign in