Returning Work to Students
Once marking is done (or very nearly done) it is time to reassemble the papers, build a spreadsheet and return results to students.
Plom doesn’t interface directly with students; Plom is not an LMS!
You can use the “Reassemble” and “Spreadsheets and Reports” sections of the Plom web interface to extract files and data from Plom to return to students via other means.
Spreadsheet
While you can extract a marks.csv file at any stage in the marking process,the sheet will not be complete until the marking is all done. The file is human-readable and looks something like:
StudentID |
StudentName |
TestNumber |
Q1 mark |
Q2 mark |
Total |
Q1 version |
Q2 version |
Warnings |
|---|---|---|---|---|---|---|---|---|
67719396 |
Dix, Rachel |
1 |
1 |
4 |
5 |
1 |
1 |
|
82911040 |
Hain, Norm |
2 |
9 |
5 |
14 |
1 |
2 |
It contains the students ID and name, the number of the test-paper they wrote, their marks for each question, and the total. It also includes the versions of each question and a “Warnings” column:
[unidentified]: this test has not yet been identified
[unmarked]: at least one question on this test is unmarked
[no ID]: no ID given on test, but some questions were answered
[blank ID]: no ID was given was given and test is blank
It should not be too difficult to tweak marks.csv for upload into your favourite LMS (or at least the one you have to use). See Return via Canvas for an automated approach.
Reassembly
Once everything is IDd and marked and you’ve done any necessary mopping up and reviewing, it is time to reassemble all the annotated page-images into papers complete with simple cover-pages.
You can look at individual PDF files within the web interface or you can download all the reassembled papers as one large zip file.
Solutions
You can also prepare individualized solutions: this is useful to students when you had a multi-versioned assessment so that they do now have search through multiple files to locate solutions to their versions of the problems.
Return
There are various ways to return PDFs to your students.
Website return
See plom-finish webpage --help which has various options to prepare a
webpage of non-predictable file names, and leaves you the problem of
returning a “secret code” (from return_codes.csv) to each student.
Webpage return has not been used recently; it will probably move to contrib/ scripts or otherwise be deprecated.
Return via Canvas
Caution
This feature is still being “beta” tested and is not yet integrated into Plom. Proceed with caution.
Get the script called plom-push-to-canvas.py.
You might find it in a directory like /home/<user>/.local/share/plom/contrib
or you can get it from the Plom source code.
Copy it to your working directory (where the reassembled/ directory and
marks.csv are).
Make the script executable, e.g., chmod a+x plom-push-to-canvas.py.
Make an “API key” for your Canvas account:
Login to Canvas and click on “Account” (your picture in the top-left) then “Settings”.
Click on
+ New Access Token. The “purpose” can be “Plom upload” (or whatever you want) and you can set it to expire in a day or two.Copy the token, something like
11224~AABBCCDDEEFF....Who can do this? The instructor can. So can TAs, but be cautious: Canvas has three kinds of TAs: TA, TA Grader, and TA Course Builder, and at least before 2022-11-08 at UBC, it would fail for TA Graders, Issue #2338.
Also in Canvas, create an Assignment “Midterm 1” (or whatever) in Canvas with the correct number of points. Publish the Assignment but set to manual release.
Run ./plom-push-to-canvas.py --help for instructions.
Use the --dry-run mode first!
You almost certainly want --no-section unless you are doing something
very specialized (see --help for more info).
An example invocation looks something like:
./plom-push-to-canvas.py \
--dry-run \
--course 112233 \
--assignment 1234123 \
--no-section \
--no-solutions \
2>&1 | tee push.log
Go back to Canvas and examine a few papers: double check the scores. Double check some of the PDF files. Unfortunately, you’ll probably hit Canvas bug #1886 (which effects instructors not students). Workarounds are offered in the bug report.
Once happy, release the grades on Canvas.
Reassembly on legacy servers
The command-line tool plom-finish is the front-end for working with legacy servers.
For scripting or other advanced usage, you can
import plom.finishin your own Python code. See plom.finish module.