I am a math instructor teaching an online course on canvas. I build my quizzes using LaTex (using random number generators), and I want to assign different students different versions of the same quiz. I know how to post a pdf, but I'm not sure how to best handle the different version issue. Thanks for any tips
Shelby,
If I understand the question correctly, the whole LaTeX to PDF thing is just background information and you already have PDFs generated, you're just trying to have each student get a different PDF file? Is that correct?
I ask because the solutions are probably different.
Here's what I did a few years back for an online Finite Mathematics course. I used my home-grown test generator to generate LaTeX files but did not convert them to PDFs. They were complete and I could have converted them, but I left a tag in them that I wanted to replace at runtime. I stored these on an external server and wrote an external tool (LTI) that the student loaded from Canvas. When they did that, the script replaced the tag with the timestamp when the exam was due (they had 2 hours once they downloaded it) and then ran pdflatex on the modified LaTeX file. It then delivered this to the student, who had to have a printer available. I had the students use CamScanner to scan it to a PDF and email it to me. The students had to go through all of this before the first exam to show that they had the capabilities needed and didn't run into issues when it was test time. If they couldn't do that, then they had to come to campus to complete the test in the testing center. That solution is external to Canvas and assumes that you want each student to get their own version, so it may not be what you're after. It does make sure that students can't gain access to anyone else's quiz.
If the quizzes are already made up, then make sure each is in a separate file and is uploaded into Canvas. The options with Canvas are limited for this kind of thing and anything you do is going to seem like a lot of work, but I can think of a couple of ways that will work. You'll have to weigh the pros and cons of each scenario and decide what works best for you.
You can create a non-graded assignment (set Display grade as to non-graded), one for each version of the quiz. In the assignment, link to the PDF file that you want them to have. Then you use differentiated assignments to assign the students that you want to take that version of the quiz. Along with this, you create one graded assignment to hold the actual grade for the students. With this option, you have complete control over who gets what version and you can make sure that Johnny, who is best friends with Suzy, gets a different version.
You could create a different graded assignment for each version and do the same thing. However, this quickly fills up your gradebook with grades that are mostly empty. That doesn't hurt the students as they only see the ones that you've assigned them, but it does make your gradebook very busy.
If you don't care about who gets what version, making sure that everyone getting a different version, or even that Johnn and Suzy get different versions, then an easier approach may be to make a quiz (or survey) with a single question group. You are picking one question from that question group. Each question is a text-only question that contains the link to the PDF. If you wanted the students to upload their work, you could make the question a file upload or actually make the quiz worth some points if you want to enter the grade there as well. That cuts down on the number of entries in the gradebook, but entering points in a quiz isn't as efficient as doing it in the gradebook directly.
The questions are selected randomly from the question group and each quiz is independent of the others. This is why you cannot guarantee that Johnny and Suzy will get different versions. Sampling is done with replacement, so even if you have 10 versions of the quiz and 10 students, there's a good chance that some versions won't get used and others will get used multiple times.
The benefit of using a quiz is that you could, if you wanted to, provide a link to the PDF containing the answers as part of the feedback to the question. Then each student would only get their answer key.