Skip to content

A tool for gathering essay response data from Canvas LMS and creating an anonymized PDF

License

Notifications You must be signed in to change notification settings

saud-learning-services/canvas-quiz-response-pdfs

Repository files navigation

Canvas Quiz Response PDFs

  • name: canvas-quiz-response-pdfs
  • ops-run-with: jupyter
  • python>=3.7
  • canvasapi>=2.0.0
  • supports universal environment 🌎

Summary

Canvas Quiz Response PDFs (canvas-quiz-response-pdfs) is a Jupyter Notebook and Python application that pulls quiz data from Canvas LMS to create PDF documents containing student answers to essay questions. This was created to support formatting and anonymization of data to be run through Turnitin. The application requires the following user inputs:

You will also be prompted to answer 2 questions

  • Does this quiz use any Question Banks?
  • Would you like question text to appear in the output PDFs?

Output

.zip file containing a PDF per student (who submitted the quiz)

  • ID (randomly-generated, anonymous student identifier)
  • Course name (as it appears on Canvas)
  • Question text (as it appears on Canvas)

    ⚠️ During execution you'll be given the option to exclude question text in the output pdfs. Question text may be useful to give context about which question is being answered. On the other hand, you may not want to include question text as the text will match across submissions to Turnitin. Ensure that you review the output to be sure it is suitable for your use case.

  • Student's response (all submitted text -- does not preserving formatting)

NOTE: all of the above will repeat for as many questions as are in the quiz (on seperate pages)

.csv detailing

  • Student Name (as it appears on Canvas)
  • Student ID (UBC student ID)
  • Canvas ID (Canvas LMS ID)
  • Anonymous ID (as it appears in the output PDFs)

NOTE: this table contains sensitive information and should NOT be distributed or uploaded anywhere

⚠️ Important Caveats

  • Only works for “Classic Quizzes” on Canvas (not New Quizzes)
  • Formatting in the student response is not preserved
  • Will only output questions of type “Essay Question” on Canvas
  • Tool is designed for a Final Exam use case and therefore, should not be run on Quizzes that allow more than one attempt. Doing so may cause unexpected and/or unreliable behaviour.

Getting Started

Sauder Operations

Are you Sauder Operations Staff? Please go here for detailed instructions to run in Jupyter. ("The Project", or "the-project" is "canvas-quiz-response-pdfs" or "Canvas Quiz Response PDFs").

General (terminal instructions)

Project uses conda to manage environment (See official conda documentation here)

First Time

  1. Ensure you have conda installed (Python 3.7 version)
  2. Clone canvas-quiz-response-pdfs repository
  3. Import environment (once): $ conda env create -f environment.yml

Every Time

  1. Run:
    1. navigate to your directory $ cd YOUR_PATH/canvas-quiz-response-pdfs
    2. activate the environment (see step 3 on first run) $ conda activate canvas-quiz-response-pdfs
    3. run the script and follow prompts in terminal $ python src/quiz_response_pdfs.py

About

A tool for gathering essay response data from Canvas LMS and creating an anonymized PDF

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published