Spreadsheet of all submissions for a course
One can use the Canvas API to get all of the submissions for a course. The program list_submissions.py Download list_submissions.py outputs them as an XSLX spreadsheet. For example, for the course 189, this produces the headers:
assignment_id | attachments | attempt | body | excused | grade | grade_matches_current_submission | graded_at | grader_id | id | late | media_comment | preview_url | score | submission_type | submitted_at | url | user_id | workflow_state |
Given the data in the submitted_at and graded_at columns, one can convert the ISO8601 date and time to Excel dates using (as described by Noble Sunny Mavely in his answer Sep 6 at 14:10 at http://stackoverflow.com/questions/4896116/parsing-an-iso8601-date-time-including-timezone-in-excel Links to an external site.):
=DATEVALUE(MID(Q2,1,10))+TIMEVALUE(MID(Q2,12,8)) =DATEVALUE(MID(I2,1,10))+TIMEVALUE(MID(I2,12,8))
Then one can compute the difference in these date between when the assignment was submitted and when it was graded (expressed in units of days ("d"):
=DATEDIF(W2,X2, "d")
This produces three new columns (V, W, and X) in the table - with the column headings and first line of data:
time to grade | submitted date | date graded |
0 | 2016-09-13 15:00 | 2016-09-13 20:23 |
This can be used to produce a histogram of the time taken to grade a given assignment. Note that in some cases, there were multiple submission made for a given assignment.
One can also compute other statistics such as the number of attempts made to submit each assignment:
Note that there were some submissions that were graded as completed, but for which there was not a corresponding submission - as the assignment was submitted by another group member (but not recorded in Canvas as a group submission). The API also produced some entries (with a workflow_state of "unsubmited") for which there is a preview_url, but no submission date - in each case the URL points to a page that simply says: "No submission".