✨Tutorial: How to Use AI with Canvas LMS

Automate quiz creation, streamline feedback, and help students navigate your courses.

[image created with Dall-E 3 via ChatGPT Plus]

Welcome to AutomatED: the newsletter on how to teach better with tech.

Each week, I share what I have learned — and am learning — about AI and tech in the university classroom. What works, what doesn't, and why.

In this fortnight’s Premium edition, I present a Tutorial explaining 3 ways to use AI in concert with the Canvas learning management system (LMS):

  • to automate your quiz creation and upload process

  • to streamline how you produce feedback on your students’ work

  • to export your whole course for analysis and presentation (e.g. to be packaged as a custom GPT “guide” for your students)

Canvas ↔️ Third-Party AI

In this Tutorial, we'll explore three powerful ways to integrate third-party AI tools with Canvas to enhance your teaching and streamline your workflow. These cases demonstrate how AI can complement Canvas's native functionality, and I present each as a step-by-step guide.

First, we'll look at automating quiz creation and upload, meshing AI-generated content with Canvas's quiz infrastructure.

Next, we'll explore how AI can assist in providing more comprehensive and efficient feedback on student submissions, integrating seamlessly with Canvas's grading system. Along the way, I will discuss a range of relevant ethical considerations and how you might navigate them.

Finally, I’ll present a method for analyzing an entire Canvas course using AI, extracting valuable insights to improve course structure — with a focus on how you can facilitate your students’ navigation of your course in its Canvas form.

These three cases are particularly significant as they leverage the primary methods available for extracting data from and adding data to Canvas: quiz upload, student submission download and re-upload, and whole course download. Canvas's native options for data exchange are somewhat limited, making these approaches especially valuable.

The goal here is to show you how to maximize native functionality with AI, even if your institution doesn’t have any native AI features enabled and has a limited suite of apps available (like several of my past institutions).

Note: Before diving into the first case, I would be remiss if I didn’t mention the suite of AI-powered features that Instructure, Canvas’ developer, is introducing to enhance teaching and learning experiences within its platform.

However, this Tutorial is not about them.

But why?

In short, these features are either unreleased or inaccessible to almost all of you. They must be purchased and/or enabled at the institutional level, and most institutions have not paid or enabled them. As such, I will focus on other ways to use AI with Canvas in the rest of this Tutorial. There’s a lot we can do without this native AI-powered functionality.

I do include a brief summary of the forthcoming native functionality at the conclusion of this piece, after Case 3, for those curious.

❓🤖 Case 1: Automate Quiz Creation/Upload

In this section, I’ll walk you through a four-step process to streamline the quiz creation process. We'll use Google’s Gemini 1.5 Pro to generate quiz content, ChatGPT to format it correctly, a specialized free web converter to prepare it for Canvas, and finally, I’ll show you how to import it directly into your course.

This automated approach to quiz creation and upload offers several advantages.

First, it saves significant time, allowing you as a professor to quickly generate quizzes based on lecture content, readings, or other course materials.

Second, it ensures a consistent format and quality across all quizzes, reducing the risk of errors that can occur in manual creation and upload.

Finally, it allows for easy scaling — whether you need one quiz or ten, the process remains equally efficient.

This gives you more time to focus on improving your students’ learning, either by refining the AI-produced quizzes (it effectively reduces the cognitive load, leaving you to focus on what matters about them) or by working on something else entirely.

Step 1: Build Quizzes with Gemini 1.5 Pro

To create quizzes using Gemini 1.5 Pro, start by accessing Google AI Studio at https://aistudio.google.com/ in a fresh browser window.

Log in with your Google account, choose the option to “Use Google AI Studio” with a “New Prompt,” and rename your experiment by clicking the pencil icon next to "Untitled prompt" at the top of the page.

Gemini 1.5 Pro offers flexibility in generating quizzes from various types of content.

For instance, you can upload audio or video files of yourself lecturing and extract quizzes from what you said in class. If you prefer to work with written content, you can upload documents, such as textbook chapters, research papers, or your own lecture notes. Gemini's ability to analyze text makes it an excellent tool for generating questions from dense academic material. You can even combine multiple documents to create quizzes that span several topics or units.

For educators who want to create quizzes based on a mix of materials, Gemini 1.5 Pro can handle that too. You might upload a combination of lecture slides, reading assignments, and even relevant images or diagrams. This multi-modal approach allows you to generate diverse question types that test students' understanding across different forms of course content.

In any case, you upload your chosen content via the plus symbol between the “Type something” prompt window and the “Run” button. Don’t press the “Run” button yet.

Once Gemini 1.5 Pro has processed your uploaded content, craft a detailed prompt in the Chat window next to the uploaded material, before pressing the “Run” button. Your prompt should specify the quiz structure and format required for seamless integration with Canvas.

Here's the prompt that I’d recommend starting with — you can adjust the question total and any other necessary details but leave the rest the same — because it enables us to transition your quiz more easily to Canvas:

Create a 10-question quiz based on this [lecture/document/material]. Include a mix of question types. Format the quiz as follows:

- Use 'MC' for multiple-choice or for true/false, or 'MR' for multiple-response questions
- Leave a blank line after the question type indicator (i.e. after ‘MC’ or ‘MR’)
- Assign 10 points to each question
- Write out the full question text
- For MC and MR, list answer choices as a, b, c, d (or more if needed)
- Indicate the correct answer immediately after the question
- Separate each question with a blank line

Example format:

Question 1

MC

10

What is the capital of France? a) London b) Berlin c) Paris d) Madrid

Correct Answer: c

Question 2

TF

5

The Earth is flat.

Correct Answer: False

Question 3

MR

10

Which of the following are noble gases? Select all that apply. a) Helium b) Oxygen c) Neon d) Argon

Correct Answer: a, c, d

[Next question...]

The Gemini 1.5 Pro quiz creation prompt I recommend you use

You can make your prompt more advanced or sophisticated by specifying further parameters, like your learning objectives, the course context, etc.

Once you have your prompt inserted alongside your files, click the “Run” button to generate the quiz.

Review the output carefully, ensuring it follows the specified format and accurately reflects the content you provided. You can ask Gemini 1.5 Pro to modify or expand the quiz if needed.

Finally, copy the entire generated quiz, including the formatting, into a text document. (You can quickly copy it all via the “Copy rendered” option, accessible via the triple dot icon in the upper right.) This formatted output will be crucial for the next step in our Canvas integration process.

Repeat for all the quizzes you need to create.

And remember, Gemini 1.5 Pro's extensive context window allows you to use longer lectures, multiple documents, or a combination of various materials as input. This capability enables you to create comprehensive quizzes that cover a wide range of material from your course.

Indeed, you can output multiple quizzes at once from a single set of documents, if you want.

For more on Gemini 1.5 Pro’s capabilities, see our ✨Tutorial on How to Draft Grant Applications with Gemini (which explains why it is special amongst LLMs — and also acts as an illustration of how to prompt “long context” LLMs more generally).

Step 2: Convert Quizzes into CSV Template Format with ChatGPT

After generating your quiz or quizzes with Gemini 1.5 Pro, the next step is to convert them into a CSV format compatible with Canvas by leveraging ChatGPT's natural language processing capabilities.

Crucially, you’ll need ChatGPT Plus ($20/month), if you don’t have it already, to generate the CSVs directly with Advanced Data Analysis. For professors, it’s more than worth the cost.

Here's how to do it:

Start by accessing ChatGPT by going to chatgpt.com and log in to your account (upgrade to Plus if you need to).

Start a new conversation with the “New chat” button in the upper left corner and provide the following prompt, exactly as written (note: the included sample quiz is based on one of my old lectures, and you are free to use it for this purpose).

#Quiz to CSV Formatting Instructions

You will receive a quiz consisting of multiple-choice (MC) or multiple-response (MR) questions, and you need to format it into a CSV file that adheres to the following strict rules for upload:

##CSV Formatting Rules:

Column A (Question Type): Set "MC" for all multiple-choice or true/false questions. For multiple-response questions, use "MR."

Column B (Unused): Leave this column blank, but it must still be present.

Column C (Point Value): Distribute point values such that the total for all questions sums to 100. For example, if the quiz has 5 questions, each question will be worth 20 points. If there are more or fewer questions, divide 100 evenly across all questions. If the number of questions is odd, it is OK to have one question worth more than the others to make the total sum to 100.

Column D (Question Body): Include the text of each question.

Column E (Correct Answer): Map the correct answer to a numeric value. Use 1-5 to correspond to answers a-e, with "1" for the first option, "2" for the second, and so on.

Columns F-J (Answer Choices): Include each possible answer choice in the corresponding column (a in column F, b in column G, etc.). If a question has fewer than five answer choices, leave the remaining columns blank for that question.

##Sample Quiz Input:

What is the main focus of applied ethics?

a) Determining what is legal and illegal.

b) Examining specific applications of general ethical principles. (Correct)

c) Understanding the history of moral philosophy.

d) Exploring different cultural beliefs about right and wrong.

Which of the following is an example of an applied ethical claim?

a) One should always strive to maximize happiness.

b) Dr. Clay should help his father if he gets pneumonia on July 7th, 1999. (Correct)

c) It is wrong to cause unnecessary suffering to animals.

d) Everyone deserves to have access to basic healthcare.

What is the term used by the authors of Reading #3 to describe their ethical position?

a) Utilitarian paternalists

b) Libertarian paternalists. (Correct)

c) Kantian deontologists

d) Virtue ethicists

According to the authors of Reading #3, what is a key factor in determining whether someone deserves something?

a) Their level of effort and hard work.

b) Their contribution to society.

c) The choices they make. (Correct)

d) The circumstances of their birth.

What is the main topic of Reading #4?

a) Veganism

b) Immigration. (Correct)

c) Nudging

d) Moral distance

##Corresponding CSV Output (Table Format):

MC 20 What is the main focus of applied ethics? 2 Determining what is legal and illegal. Examining specific applications of general ethical principles. Understanding the history of moral philosophy. Exploring different cultural beliefs.

MC 20 Which of the following is an example of an applied ethical claim? 2 One should always strive to maximize happiness. Dr. Clay should help his father if he gets pneumonia. It is wrong to cause unnecessary suffering. Everyone deserves basic healthcare.

MC 20 What is the term used by the authors of Reading #3 to describe their ethical position? 2 Utilitarian paternalists Libertarian paternalists Kantian deontologists Virtue ethicists

MC 20 According to the authors of Reading #3, what is a key factor in determining fairness? 3 Their level of effort and hard work. Their contribution to society. The choices they make. The circumstances of their birth.

MC 20 What is the main topic of Reading #4? 2 Veganism Immigration Nudging Moral distance

##Step-by-Step Process for You, ChatGPT:

1. Receive the Quiz Text: Upon receiving a quiz in text format (like the sample quiz above), identify the structure of the quiz questions and their respective answers.

2. Determine Question Type: All questions will be considered multiple-choice (MC) unless explicitly indicated as multiple-response (MR). Assign "MC" to Column A for all questions unless otherwise specified.

3. Create an Empty Column: For Column B, ensure it is blank for each row, as specified.

4. Assign Point Values: Calculate the point values to sum to 100 across all questions. For example, if there are 5 questions, assign 20 points to each question. If there are 4 questions, assign 25 points each. Place these values in Column C.

5. Insert Question Text: Place each question body in Column D, exactly as provided.

6. Map Correct Answers: Convert the correct answers into their corresponding numeric values. For example, if the correct answer is "b)", assign the value 2 in Column E. Repeat for all questions.

7. Format Answer Choices: For each question, place the answer choices (a, b, c, d) in Columns F through J. If a question has fewer than five options, leave the remaining columns blank for that question.

8. Generate CSV File: Once the table is completed, output the data in CSV format without headers. This ensures it matches the format required for website upload.

9. Final Check: Review the CSV structure to ensure that:

All columns are filled appropriately.

The correct answer is represented by the appropriate numeric value.

The point values sum to 100.

There are no column headers.

#Conclusion:
Let me know once you've understood and are ready for the quizzes.

The instructions you supply to ChatGPT, which can be used with a custom GPT if you want

After ChatGPT confirms it's ready, paste your Gemini-generated quiz(zes) into the chat or upload them in a straightforward format (warning: pdfs can be tough for ChatGPT to parse).

If you have multiple quizzes, you can either:

  1. Paste them all at once, clearly separating each quiz (e.g., with headlines or dividers)

or

  1. Paste them one at a time, asking ChatGPT to process each before moving to the next

ChatGPT will provide the output as a downloadable CSV file, which you can access by clicking the hyperlink in its response.

Examine ChatGPT's output carefully for each quiz. Ensure that:

  • All questions are included and correctly formatted

  • The second column is blank

  • Question types (MC, MR) are accurately labeled

  • Point values are correct and sum to 100 for each quiz

  • Correct answers are properly encoded (e.g. 1-5 for MC/TF, comma-separated numbers for MR)

  • All answer choices are present

If you notice any errors or inconsistencies, ask ChatGPT to make specific corrections.

Name each file clearly, perhaps including the quiz topic and date.

Note: To repeat the above process with ease when you’re creating quizzes, you can either maintain chats dedicated to the purpose (where you occasionally may need to reiterate the initial prompt) or use a custom GPT.

Step 3: Convert CSV Template into QTI Format

After obtaining your CSV file(s) from ChatGPT, the next step is to convert them into the QTI (Question and Test Interoperability) format, which is compatible with Canvas. The QTI format preserves all the question types, point values, and correct answer designations you carefully set up in the previous steps.

We'll use the “Kansas State Classic to Canvas (QTI 2.0) Converter” for this process. By using this free, user-friendly tool from Kansas State University (thanks KSU!), we've eliminated the need for manual formatting or complex conversions, further streamlining the process of getting your AI-created quizzes into Canvas.

Here's how to do it:

  1. Access the Converter: Go to https://canconvert.k-state.edu/qti/ in your web browser.

  2. Upload Your CSV File: Click the "Browse" button and select the CSV file(s) you downloaded from ChatGPT. If you have multiple quizzes, you'll need to convert each one separately.

  3. Initiate Conversion: Click the "Perform Conversion" button. The tool will process your CSV file and convert it into the QTI 2.0 format.

  4. Download the QTI File: Once the conversion is complete, a ZIP file will automatically be saved to your computer's default download location. This ZIP file contains your quiz in QTI format.

  5. Organize Your Files: If you're converting multiple quizzes, repeat steps 2-4 for each CSV file. Keep your downloaded ZIP files organized, perhaps in a dedicated folder for your Canvas quizzes.

Importantly, you should not unzip the downloaded file. Canvas requires the quiz to remain in ZIP format for import.

If you're converting multiple quizzes at once, the tool will bundle them into a folder labeled "BATCH_OF_#_ASSIGNMENTS" before downloading. In this case, you should unzip only this outer folder, keeping the individual quiz ZIP files intact.

The converted ZIP file will have the same name as your original CSV file plus some (numbers at the end), so ensure your CSV files are named clearly and descriptively.

Step 4: Import QTI

The final step is to import your QTI-formatted quiz(zes) into Canvas. This process will make your AI-generated quizzes available in your course for student use.

Here's how to do it:

  1. Access Your Canvas Course: Log into your institution's Canvas site and navigate to the course where you want to add the quiz(zes).

  2. Open Settings: In the course navigation menu on the left side of the screen, click on "Settings" near the bottom.

  3. Start the Import Process: On the Settings page, click the "Import Course Content" button.

  4. Select Content Type: In the drop-down menu that appears, choose "QTI .zip file" as your content type.

  5. Upload Your File: Click the "Browse" button and select the ZIP file you downloaded from the K-State converter. Remember, do not unzip this file before uploading.

  6. Import Options: Before starting the import, you have three optional settings to consider:

    • You can add these new quiz questions to a question bank or create a new one.

    • If your course has New Quizzes enabled, do not check "Import existing quizzes as New Quizzes" to convert the imported quizzes to this format (it generates an error). They must be imported as Classic Quizzes.

    • You can also choose to "Overwrite assessment content with matching IDs" if you're updating existing quizzes.

  7. Start the Import: Click the "Import" button to begin the process.

  8. Monitor Progress: Canvas will display a progress bar indicating the status of your import. The time required will depend on the size and complexity of your quiz(zes).

  9. Verify the Import: Once the import is complete, navigate to the "Quizzes" section of your course to confirm that your new quiz(zes) appear correctly.

  10. Review and Adjust: Open each imported quiz to ensure all questions, answer choices, and point values are correct. Make any necessary adjustments using Canvas's built-in quiz editor.

  11. Migrate to New Quizzes (if desired): Finally, if you want the quizzes to be New Quizzes rather than Classic Quizzes, go to the “Quizzes” section of your course, click the triple dot icon next to each quiz, then click “Migrate.” Each quiz handled this way will be converted into a New Quiz once the process completes (the rocket icon will be black rather than white).

Note that if you imported multiple quizzes as a batch, they will all appear in your Quizzes section after a single import.

For courses using “New Quizzes,” remember that some question types may display differently. For example, multiple dropdown questions will appear as matching questions in “New Quizzes.”

If you encounter any issues during import, such as missing questions or formatting problems, you may need to revisit the CSV creation or QTI conversion steps.

⏩📝 Case 2: Streamline Feedback

In this section, I'll guide you through a process that can significantly enhance your feedback workflow in Canvas. We'll cover a three-step approach: downloading student submissions from Canvas, using AI to improve your feedback, and re-uploading the annotated submissions.

This method has the potential to save you considerable grading time while enabling you to provide more comprehensive and personalized feedback to your students.

However, it's crucial that we navigate this process with careful attention to ethical considerations, particularly regarding student data privacy and the fairness of AI-assisted grading.

With this in mind, I'll present a range of options for ethically implementing AI in your feedback process. These will include methods that don't directly expose student work to AI, approaches that use institution-approved tools, and more advanced techniques involving pseudonymization or local AI models.

My aim is to equip you with the knowledge to make informed decisions about how to ethically and effectively incorporate AI into your grading workflow, ultimately enhancing the learning experience for your students.

Step 1: Download Student Submissions

To begin streamlining your feedback processes with AI, you first need to download your students’ submissions from Canvas.

The following bulk download method allows you to efficiently gather all student work in one place, setting the stage for the next steps in the feedback generation processes that I lay out here. By having all submissions locally on your computer, you'll be able to leverage AI tools more effectively to streamline your grading workflow.

Here's how to perform a bulk download:

  1. Access Your Canvas Course: Log into Canvas and navigate to your course site.

  2. Go to Assignments: Click on "Assignments" in the left-hand menu of your course page.

  3. Select the Assignment: Click on the specific assignment you want to grade.

  4. Locate Download Option: On the assignment page, look to the far right. You should see a "Download Submissions" link just below the SpeedGrader link.

  5. Initiate Download: Click the "Download" link. Canvas will compress all submissions into a single .zip file.

  6. Save the File: Choose a location on your computer to save the .zip file. It's a good idea to create a dedicated folder for each assignment.

  7. Extract Contents: Once the download is complete, open the .zip file on your computer to access the individual student submissions.

When you extract the contents of the .zip file, you'll notice that the student submissions are named with the student's name (and then some numbers and the assignment name), unless you had specified anonymous grading for the assignment.

It's crucial to keep these original filenames intact, as they'll be important when we re-upload the graded assignments later in the process.

Step 2: Improve Feedback on Submissions with AI

There are various ways you can improve your feedback on your students’ submissions by using AI tools. Each way has pros and cons, both with respect to practical efficiency/effectiveness and ethical considerations.

As educators, we have a responsibility to handle student data with the utmost care and to ensure that our grading methods are fair, reasonable, and sufficiently transparent, not to mention in line with our institutional policies and applicable laws (like FERPA in the US).

Given our ethical and legal obligations, and given the risks when it comes to using AI to process student work, I think the best approach to conceptualizing the option space here is by starting with the ethical considerations themselves.

In other words, your views on what one ought to do — or what it is permissible to do — with AI and student submissions should act as guardrails on any subsequent reflections on how you might save time or increase student learning with AI.

If you aren’t sure of your position on using AI with student data, I recommend that you review the guidance I provide in our ✨Premium Guide: Ethically Using AI with Student Data. This Guide outlines a range of stances you might take on using AI with student data, including ways to mitigate risks and still use AI.

To summarize some of the Guide, there are five mitigation strategies that I recommend that are applicable in the present case. Below, I will describe each one and give an example of how you could implement it to improve your feedback on student work with AI, such that you end up with files that can be re-uploaded to Canvas in accordance with the next Step (that is, Step 3):

Subscribe to Premium to read the rest.

Become a paying subscriber of Premium to get access to this post and other subscriber-only content.

Already a paying subscriber? Sign In

A subscription gets you:
Two New Premium Pieces Per Month
Access to all AI Tutorials, like our Tutorial on Building (Better) Custom GPTs
Access to all AI Pedagogy Guides, like our Guide on Designing Assignments in the AI Era
Access to Exclusive AI Tools
Discounts on Webinars