Senior Design Projects

ECS193 A/B Winter & Spring 2019

Extension of Canvas's Automated Quiz Questions

Email **********
Name Matthew Butner
Affiliation UC Davis Lecturer

Project's details

Project title Extension of Canvas's Automated Quiz Questions
Background Canvas offers instructors the ability to create and distribute online quizzes. The types of questions on the quizzes come from a finite set of types such as multiple choice, fill in the blank, numerical answer, file upload, or text response. Some of these question types, like multiple choice and fill in the blank, can be automatically graded by Canvas. While many problems can be made to fit within Canvas’ set of question types, many either cannot without a great deal of manual effort or just cannot fit at all. The sad thing here is that many of these types of problems could still be automated, it is just Canvas’s interface that makes thing difficult or impossible. For example, Canvas has a type of problem called a Formula Problem in which the creator can specify variables and ranges for their values in addition to a formula that calculates the correct value. Canvas then generates different versions of that question. The problem here is that sometimes you need more restrictions on a variable than just that the values need to be in a certain range. Examples are ● You need the values chosen from a subset of values ● You need to place additional restrictions on the random variables in relation to each other ○ B must be a multiple of A ○ The product of X and Y must be a power of 2 Because of the above lack of support, instructors now must handcraft multiple versions of the same problem which takes a lot of time and introduces the possibility of more errors and the duplication of errors. Canvas does offer a programmatic API that allows the creation of problems. Using this API we could create the problems locally through a program and then upload to them to Canvas, overcoming some of its limitations. It also provides the ability to create extensions to Canvas that may allow us nicer ways to implement these problems as well as create problems that cannot be forced into Canvas’s predefined quiz question types.
Description Students working on the project will create a program to extend Canvas’s limited quiz question types. This might be a program that adapts problems to Canvas’s current quiz questions or development of an external tool. This implementation may be terminal based but ideally, it would have a GUI interface.
Deliverable ● An investigation into Canvas’s external tool functionality to determine it makes sense to use ● A program that can be used to generate automated questions that extend the question types natively provided by Canvas ○ Implemented as an external tool if it makes sense ○ Implemented as a program that generates question sets and uploads them to Canvas otherwise ● Thorough documentation of all code created as it will be used and extended by others in the future
Skill set desirable Python
Phone number **********
Client time availability 30-60 min weekly or more
IP requirement Open source project
Attachment Click here
Selected No
Team members N/A