Skip to content

Getting closer to the holy grail of returning papers fast

July 10, 2017

I don’t know why, but I find this video fascinating. I would never do this in my own class, but there’s something about the amazing efficiency of returning 30 papers in 11 seconds that make me go wow.

After a lot of work, I think I’m pretty close to having something working that’s going to blow the doors off this paper returning technique.

Previously, I’ve written about turning PDFs into student portfolios, and now I want to write a bit of an update and invite your feedback.

The dream and why QR codes are actually useful

It’s going to be a while before paper physics tests ever go away. It’s just too damn hard to write out mathematical thinking with anything other than a pencil and paper, unless all of your students have $1000 iPad Pros and Apple Pencils—which are just amazing.

If I’m going to be grading stacks of papers for the foreseeable future, that means students are going to be getting papers back from me, and more often than I’d like, they’re going to be stuffing them in the crevice of a folder or backpack never to be seen again. But what if it were different? What if when I got done putting feedback on those tests, I could return them all digitally to each student, individually, and both the student and I could go back to this document any time we wanted?

For the past 5 years, I’ve always made a scan of all my tests right before I return them. It’s very useful to be able to go back and pull out the pages from a giant PDF when a student needs a copy of his qui or has a question about something I wrote. But the big PDF is clunky—I want each student to get his own paper, and I want this to be automatic—shouldn’t there be a way to just do this after the copier finishes scanning?

I’m thrilled to say that there is, and QR codes are the magic that makes it all work.

The workflow

This year, we finished our transition of moving all of our assessments into LaTeX, which was a huge task. LaTeX is an amazing formatting language that lets me do two things—I can use the textmerge package to create a stack of tests with student names pre-filled out. Even better, I can use the LaTeX qrcode package to embed the student’s name as well as any other information I like on a small QR code in the upper right corner of a students quiz. When run LaTeX to output the quiz, I get a pdf that contains 15 individualized copies of my quiz, which I then print and give out to my students.

After students take the quiz, I can add my feedback, and just pile the papers back in a pile and run them through the scan-to-email feature of our multifunction copier—I don’t even worry about alphabetizing them, as I previously did.

Cool part here: I set up a filter on my gmail to look for incoming messages from the copier that contain the subject “Honors Physics” and tag those messages with a “process assessment” tag. I then use the Save emails to Google Drive chrome plugin to automatically download all attachments from emails with the tag “process assessment” to a Google drive folder. Since I’m using Google drive on my mac, that cloud folder is also on my computer, and I have the awesome program Hazel watching that folder. Whenever a file is added into that folder, Hazel runs a script I’ve written that does the following.

ProcessScans called Ghostscript to break the pdf into a bunch of individual pngs and stores them in a temp folder. It then goes through the png files and reads the QR codes that are on the start pages of each quiz, and builds a list of the individual assessments that are in the PDF. Now I know exactly where all of the individual quizzes are in the large PDF and who they belong to.

Finally, ProcessScans goes through the PDF and uses the array to split, title and move each student’s quiz to a shared Google drive folder between me and each individual student, which I created using gClassFolders (which is no longer supported but still works great for me). And presto, my tests have now been returned to each student individually, probably before I can make it back to my office from the copier.

Future improvements

It shouldn’t be too hard to have this program also be able to send an email to students letting them know that their quiz has been returned. I was also thinking that it would be pretty simple to not only put in the individual assessment into the student’s folder, it could also append the assessment to a larger PDF so that the student had access to a single pdf with all his/her work inside. If I then had a webpage with links to each of these pdfs, I should be able to further annotate them and carry on ongoing digital conversations with my students about their work.

If I were to extend this a bit further and put a qr code on each page, I could probably pull out pages, and make concordances of an entire class’s work on a single problem too.

Beta beware, and maybe you want to play along too

After lots of testing, I think I’ve got nearly all of the pieces working, but it’s based on a small pile of spaghetti code and as you can see from the description above, connecting a mess of different tools in a Rube Golbergian way. Given my never ending problems with knowing which version of python I’m running and what packages I have installed, it took me an especially long time to get the python end of things working. But I’m posting what I’ve done now, rather than waiting until I polish it even more because I’m hopeful that you might have some suggestions for how to improve this idea even further.

If you are interested in making this work on your machine, I’m planning on writing up detailed directions when I get a chance to fully test it out on a clean computer in a few weeks. In the meantime, I’m happy to provide any help I can if you contact me on twitter or post a comment here.

One Comment leave one →
  1. Barbara Austin permalink
    July 11, 2017 6:26 pm

    Wow. This was inspiring. I am going to attempt to mirror your efforts. Thanks so much for sharing!

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: