I'd like Canvas to be able to generate a single table that shows the rubric line item scores for all students. Then I would easily be able to tell which items students struggled most with, and plan subsequent lessons accordingly.
It would be incredibly helpful to have data analytics connected to our Canvas rubrics. It would drive meaningful conversation in our teams and help us more effectively improve our instruction.
I came up with aPoC Python scriptthat can download itemized rubric reports for all assignment submissions.
To test, you (one with Teacher role in a Canvas course) can:
Follow the above GitHub link, click on the icon to open it inside Google Colab, which provides a Python runtime in your browser window. You may want to "Save a copy in Drive" first.
Follow the instructions in "Step #1" section to get your Canvas access token.
Replace the values for those 'replace_with_*' fields as indicated in the script
Click on the run button next to each cell, and you will get itemized csv files downloaded to your local machine in the end
The script uses the canvasapi library from University of Central Florida (thanks to the UCF team!)
Please give it a try, and let us know if you have any questions/suggestions.
Add my vote (i have 5 starred the idea). I am a first time (teacher) user of canvas and was horrified to learn that i cannot export the rubric marks only the aggregate. this is going to be a pain for me as i will have to go in to each individual student rubric and MANUALLY transfer the marks to a spreadsheet so i can report on our individual criteria.
I noticed a GitHub thing on page 4 of the comments, i will explore that but i'm not confident with python.
Hi @zqian1 , i am trying to use your code but have already come across an issue: i don't know how to find the Assignment ID (i THINK i found the Course ID, but nothing in the course settings is actually called Course ID, it's either Course Code or SIS ID - both of which appear to be the same in my case).
I took a punt and used the number at the end of the URL for the Assignment ID, but when i ran the first part of the code i got the following error:
---------------------------------------------------------------------------ModuleNotFoundError Traceback (most recent call last)<ipython-input-1-06d262f52669> in <module>()----> 1fromcanvasapiimportCanvas 2 from canvasapi.assignment import (
3Assignment, 4AssignmentExtension, 5AssignmentGroup,ModuleNotFoundError: No module named 'canvasapi' --------------------------------------------------------------------------- NOTE: If your import is failing due to a missing package, you can
manually install dependencies using either !pip or !apt.
To view examples of installing some common dependencies, click the
"Open Examples" button below.
---------------------------------------------------------------------------
Edit: additional info
Also this is what my variables look like under my personal security token, perhaps someone can see if these don't look right:
In Canvas, you can navigate to the Assignment tool, and click on the assignment title to enter the view for that assignment, where you should have the URL of format https://<your institution Canvas site>/courses/<COURSE_ID>/assignments/<ASSIGNMENT_ID>
Then you can retrieve the values for COURSE_ID and ASSIGNMENT_ID, and insert those into the script.
To execute the script in Google Colab, you will need to execute all the code sections sequentially, especially the first "Install Python Libraries" section with all !pip commands. That should have the required canvasapi library installed
HTH! Please let me know if you have further questions.