Hi,
Using OLD quizzes. Well, I landed here for the same reason you did. Looking to regrade a fill in the blank (FIB) question for which I accidentally originally entered an incorrect answer. There is absolutely no good reason Canvas does not permit regrading of FIB questions, or really, any type of question other than essay questions. It is not as if there is some technology limitation which prevents them from doing this.
For FIB questions, the code which grades the question already exists (it has to exist because the FIB question was already graded), so there is no reason that the same code could not be invoked again after the answer is corrected to regrade the question. It would only take a simple function that walks through the student list, grabs the student's quiz response to that particular FIB question, grabs the newly entered correct answer, perform a diff on the two strings, and award the student credit if the strings match and do not award credit if they do not match. One of my better intro to programming students coould write this code.
That this is not an available feature is just sheer laziness on Canvas' part, just as it is sheer laziness which makes so many other things in Canvas impossible to do or more difficult to do than it needs to be.
Anyway, a great skill to master is to learn to use the basics of Excel, Libre Calc, or Open Office Calc and forgo the Canvas gradebook altogether. I just download grades into my Libre Calc spreadsheet and do all my work there.
Now getting to your question. A FIB question can be regraded with some work in Libre Calc (or Excel, but I am not a Micro$lop guy). I am using Libre Calc v7.0.0.3 so the instructions I am writing are applicable to that version, but in new versions of Libre Calc which will be released 5 years after I write this question, the user interface may have changed some. Here are the steps.
1. Download the quiz Student Analysis data from Canvas (it is exported as a .CSV file and can be easily imported into Libre Calc (or Excel) and it will contain a column with the students' responses to the FIB question.
2. Suppose the column containing the students' responses to the FIB question is column R (as it is for me) and the students' data is in rows 3:151 (as it is for me, so their responses are in R3:R151). To the right of column R, in column S, should be the points that were awarded to the student for that question. We are going to overwrite the data in column S with the points the student should earn based on the new correct answer.
3. Suppose the new correct answer is "banana" and the question is worth 5 points. Then, in cell S3 (to the right of the first students' response in R3) insert this formula =if (R3 = "banana", 5, 0)
4. This formula will compare the student's response in R3 to the correct answer "banana". If they match exactly, then it will put 5 in S3 and if they do not exactly match, it will put 0 in S3.
5. Be aware, this is a case-sensitive comparison, so if some students wrote "Banana" and some wrote "BANANA", then the comparison to "banana" will fail. If you want to award credit for "banana", "Banana", and "BANANA", then the easiest way to handle this is to first convert all the student's responses to all lowercase or all uppercase. Since we entered "banana" in the formula in S3 we should convert all the quiz responses to lowercase. This can be accomplished in Libre Calc by selecting the entire column R and then selecting Format | Text > lowercase from the main menu.
6. Once you have the students' responses all converted to lowercase, and you have tested the formula in S3 to ensure that it puts a 5 there when R3 contains "banana" and a 0 in S3 when R3 does not contain "banana", then copy and paste the formula from S3 to S4:S151.
7. Now, you will see either 0's or 5's in column for each student. That is half the battle.
8. Now export the gradebook from Canvas, because you will need the students' quiz scores.
9. Open the gradebook spreadsheet. Suppose the quiz scores are in column M, rows 3:151, so the quiz scores are in cells M3:M151. Insert two new columns to the right of column M, so the new columns will become columns N and O. Copy and paste the values or numbers in cells S3:S151 from the Student Analysis data spreadsheet—remember, these will be 5's for the students who answered "banana" and 0's for those who answered anything other than "banana"—to N3:N151 in the gradebook spreadsheet.
10. Note in Step 9 that I said copy the values from column S. You do not want to copy the formulas in cells S3:S151, which is what will happen if you just paste the contents of S3:S151 to N3:N151, instead you want to copy only the values or numbers from those cells. In Libre Calc, this is accomplished when you have copied S3:S151 to the clipboard and instead of performing a regular paste operation in the gradebook spreadsheet, you want to perform a Paste Special operation, which allows you to specify the attributes of a cell that you want to copy. In this case, we want to copy the values but not the formulas. This is accomplished in Libre Calc by first selecting cell N3 and then selecting Edit | Paste Special > Paste Only Numbers on the main menu. This will copy the values or numbers from the cells of S3:S151 that are on your clipboard to N3:N151.
11. Now, in cell O3 enter the formula =M3 + N3. This will add the 5 or 0 points in cell N3 to the student's original quiz score in column M3 and put the sum in O3.
12. Once you are satisfied that the formula you just entered in O3 is correct, copy and paste the formula from O3 to O4:O151. This will add either 0 or 5 points to each students original quiz score, thus awarding them credit for answering the FIB question with "banana".
13. Okay, not there yet. We still have to upload the new quiz scores to Canvas. But before doing that, we have to prepare the gradebook spreadsheet. Since the students original quiz scores were in M3:M151 and their regraded quiz score is in O3:O151, then you need to copy the values from O3:O151 to M3:M151. This will overwrite the students' original quiz scores with the regraded score. Select O3:O151, copy the contents to your clipboard,, select cell M3, and then perform the Paste Special numbers operation again.
14. Next, you need to delete columns N and O from the gradebook spreadsheet.
15. Almost there, the end is in sight. Go to the Canvas gradebook and import the gradebook spreadsheet containing the regraded quiz scores.
16. And now you have just wasted 30+ minutes of valuable time—that could have been spent working with some students or prepping for a lecture—manually regrading a FIB question when a 1st or 2nd year programming student could have modified Canvas to do this automatically for you and it would have been done in 5 seconds. But that is the Canvas way.
I hope this helps anyone who also ends up here because they need to regrade a FIB question. This procress could be modified to regrade other types of questions as well, I suppose, as long as the students' responses are available to you in the Student Analysis spreadsheet.
Very Best,
KRB
This discussion post is outdated and has been archived. Please use the Community question forums and official documentation for the most current and accurate information.