- name: canvas-quiz-extensions
- ops-run-with: jupyter
- python>=3.7
- canvasapi>=2.0.0
- supports universal environment 🌎
A project that takes input in the form of two CSVs and adds extra time or attempts for students on a list of quizzes. This project is designed for advanced setup, not in-time adjustments during a quiz.
- Terminal (or Jupyter) will prompt user and generate input .csv templates:
- Edit
input/student_input.csv
with a list of students with corresponding extra attempts and time - Edit
input/quiz_input.csv
to specify quizzes to affect
- Edit
- Terminal (or Jupyter) will ask for inputs and confirmations
- Errors will be shown when necessary by the interface, and failed attempts will be logged in
/src/log
(a log is generated any time the script is run)
- This script only works with Canvas Classic Quizzes
- The attempt and time extensions will be overwritten when you run this script (does not add extra attempts or time, replaces them)
- The script assumes that you want to extend the time and/or attempts for each student for each quiz listed
- We have not tested the behaviour of this script for non-published or past-due quizzes
- Does not work to extend time OR attempts if the quiz uses an availability window, for example if the exam is set from 16:00-18:00, and a student is supposed to have an extra 20 minutes, this will not work with no error
You will need
- Canvas API Token
- Canvas Course ID
- Student and Quiz CSVs (Templates generated when run)
Are you Sauder Operations Staff? Please go here for detailed instructions to run in Jupyter. ("The Project", or "the-project" is "canvas-quiz-extensions" or "Canvas Quiz Extensions").
You will need to create the quiz_extension environment. We use conda to manage our projects.
$ conda env create -f environment.yml
$ conda activate canvas-quiz-extensions
$ python extend_quiz.py
This adapatation was forked from https://github.com/ubccapico/quiz-extension where the original author acknowledgements were:
- Tyler Cinkant - Lannro