I'm a huge supporter of Open Source and Creative Commons resources. This is another way of saying Free, Equitable and Accessible resources... Some of this is Paid Content, So, If you should be paying for it... Please do.📽️ 🎧 📰 📖 📝🛠️ 🖼️
Want to Support Me on this endeavor? Let's get started... Its going to be a wild, fun, awesome ride...
Web Site: WWW.STEAMCLOWN.ORG | Contact: TopClown@STEAMClown.org | LinkedIn: Jim Burnham | TikTok: STEAM Clown
Consider Supporting my Open Source STEAM Curriculum Development -- Patrion: Jim The STEAM Clown | Amazon: Amazon Classroom Wishlist,
Author: Jim Burnham - TopClown@STEAMClown.org. License: Distributed as Open Source.
Note: 2025/12/29 - the /embed/ feature has been disabled in You Tube, so you can still use a link /watch/?v=<videoLink> and add the &cc_load_policy=1&cc_lang_pref=en to the end. so it looks something like https://www.youtube.com/embed/QvyTEx1wyOY?cc_load_policy=1&cc_lang_pref=en
See a canvas method that seems to work (2025/12/29) to still "embed" a you tube video in a canvas assignment and quizzes
I know... I know... Classic quizzes may go away in the future, but Canvas has not put a hard date to it, and I'm sure they will have some method to upgrade when they do... (hopeful)
Chat GPT prompt to generate a Quiz bank on a specific topic. make edits to the prompt as needed.
PROMPT Cut and Paste including the Quote marks, into ChatGPT or the LLM of your choice:
"
You are an expert instructional designer and Canvas LMS specialist.
I am a teacher using **Canvas Free-for-Teachers** and I need to generate a **Classic Quiz Question Bank**.
TASK:
1) Generate quiz questions based ONLY on the topic I provide.
2) Questions must be:
- Multiple Choice
- Exactly four answers labeled A, B, C, D
- Avoid trivia
- Test understanding, not memorization
- One correct answer
3) Each question MUST include:
- Clear, beginner-friendly wording
- Instructor-style feedback explaining WHY the correct answer is correct
- A “Dig Deeper” paragraph in the feedback that:
- Suggests how the student can explore the topic further
- Encourages curiosity, review, or hands-on practice
4) The quiz must be exported as a **QTI 1.2 .zip file** that:
- Imports correctly into **Canvas Free-for-Teachers**
- Works with **Classic Quizzes**
- Can be used as a **Question Bank**
- have the following canvas quiz values:
quiz_bank_name="[quiz-bank-name]"
for each question_id = "[quiz-bank-name + enumerated number]", basically enumerate each question using the quiz-bank-name
Have the feedback be placed in all 3 ovf these fields: general_feedback = feedback, correct_feedback = feedback, incorrect_feedback = feedback. do not reference the A,B,C,D in the incorrect feedback
points = 10
if a "manifest" value is needed, leave it blank
5) Do NOT use CSV (Canvas FFT does not support it).
6) Include clear, step-by-step instructions for importing the QTI file into Canvas Free-for-Teachers.
TOPIC:
[INSERT YOUR TOPIC HERE — example: “Python Variables and Data Types for Robotics”]
NUMBER OF QUESTIONS:
[INSERT NUMBER — example: 10]
Point Value for each Question:
[10 points]
STUDENT LEVEL:
[High school / Intro college / CTE]
OUTPUT REQUIREMENTS:
- Provide the downloadable QTI .zip file
- Provide a short explanation of how the quiz is structured
- Provide Canvas Free-for-Teachers import instructions
"
I know... wacky font... Just checking that you are paying attention....
Question Format
Real-world context (robotics, engineering, computing)
Avoid trivia
Test understanding, not memorization
Answer Choices
A = Correct answer
B–D = Plausible distractors
Avoid “all of the above”
Feedback Structure (Per Question) This should be found in the feedback section... I typically put this in the Right and wrong section, so students see this feedback if they are right or wring.
Correct Answer Explanation:
Explain WHY the answer is correct using plain language.
Dig Deeper:
Suggest:
- A concept to review
- A hands-on experiment
- A coding exercise
- A real-world application
I’ve created a sample QTI 1.2 quiz using the best-practice format above.
👉 Download example_canvas_teacher_prompt_quiz_qti.zip
Example Topic Used:
Python Variables and Data Types (Robotics Context)
Includes:
Multiple-choice questions (A–D)
Correct-answer feedback
“Dig Deeper” learning prompts
Canvas FFT–compatible structure
Open your Canvas course
Go to Settings
Select Import Existing Content
Content Type → QTI .zip file
Upload the downloaded ZIP
Click Import (you might be asked to import into an existing quiz bank, but it did not seem to go there and imported to a new quiz bank with the name <no name - file name>. The best practice would be to them move all of these quiz bank questions to a organized quiz bank and then delete that newly created quiz bank )
Go to Quizzes
Go to Manage Quiz Bank: (Find the new quiz bank, it did not seem to go to where I said to import int, but rather, it was imported to a new quiz bank with the name <no name - file name>. The best practice would be to them move all of these quiz bank questions to a organized quiz bank and then delete that newly created quiz bank )
Recommend moving the quiz bank question to a organized quiz bank you have or create.
Go to Modules, and create a new classic quiz, with all the normal instructions, and then "find questions" from the quiz bank you organized these new questions into.
Click Find Questions
Select the imported Question Bank
Randomize or reuse freely, I typically have lots of my "see if students are understanding" quizzes set as multiple time, with 2 try's and average the results. this way if they get 100% they just move on, if they don't get 100%, they can try again, to improve their score... but they have to try on the first try.
Chat GPT prompt to generate a Quiz bank on a specific topic. make edits to the prompt as needed.
PROMPT Cut and Paste including the Quote marks, into ChatGPT or the LLM of your choice:
"
# Canvas Classic Quiz Bank Generator Prompt
## USER CONFIGURATION SECTION
**Edit these parameters before running the prompt:**
```
Canvas_Classic_Quiz_Bank_Name: [Enter quiz bank name, e.g., "Biology_Chapter5"]
Number_Of_Questions: [Enter number between 1-20, e.g., "5"]
Points_Per_Question: [Enter points, e.g., "1" or "2"]
Question_Difficulty: [Enter: "easy", "medium", "hard", or "mixed"]
Question_Types_Distribution: [Enter: "all_multiple_choice" OR specify like "80% multiple_choice, 20% true_false"]
Article_URL: [Paste the full URL here, e.g., "https://example.com/article"]
Focus_Areas: [Optional: Specify topics to emphasize, e.g., "focus on main concepts and definitions" or leave blank for balanced coverage]
Avoid_Topics: [Optional: Specify what NOT to include, e.g., "skip historical dates" or leave blank]
Answer_Choices_Per_Question: [For multiple choice: "4" is standard, can use "3" or "5"]
Include_Distractors_Strategy: [Enter: "challenging" for harder wrong answers, "obvious" for easier quiz, or "balanced"]
```
---
## PROMPT INSTRUCTIONS
You are a Canvas LMS Classic quiz bank generator. Your task is to:
1. **Fetch and analyze the article** at the provided URL
- Extract the main content, ignoring advertisements, navigation menus, sidebars, and promotional content
- Identify key concepts, important facts, definitions, and main arguments
- Note the article's tone, subject matter, and educational level
2. **Generate quiz questions** according to specifications:
- Create exactly **[Number_Of_Questions]** questions
- Set difficulty to **[Question_Difficulty]**
- Distribute question types as specified: **[Question_Types_Distribution]**
- Each question worth **[Points_Per_Question]** points
- For multiple choice questions, provide **[Answer_Choices_Per_Question]** answer choices
- Apply distractor strategy: **[Avoid_Topics]**
- Focus on: **[Focus_Areas]** (if specified)
- Avoid: **[Avoid_Topics]** (if specified)
3. **Question ID generation**:
- Format: `[Canvas_Classic_Quiz_Bank_Name]_[sequential_number]`
- Example: If quiz bank name is "Space_Ships" and 5 questions requested, generate:
- Space_Ships_1
- Space_Ships_2
- Space_Ships_3
- Space_Ships_4
- Space_Ships_5
4. **Question quality requirements**:
- Questions must be clear, unambiguous, and directly related to article content
- Avoid "trick questions" unless difficulty is set to "hard"
- Wrong answer choices (distractors) should be plausible but clearly incorrect
- Avoid "all of the above" or "none of the above" options unless contextually appropriate
- Vary question stems (What, Why, How, Which, When) for diversity
5. **Feedback generation**:
- Create detailed, educational feedback that:
- Explains WHY the correct answer is correct
- References specific information from the article
- Helps students learn from mistakes
- Use the SAME feedback text for all three feedback fields:
- `general_feedback` (shown to all students)
- `correct_feedback` (shown when answer is correct)
- `incorrect_feedback` (shown when answer is incorrect)
6. **XML output format**:
- Generate valid XML following Canvas Classic Quiz Bank structure
- Use CDATA sections for all text content to handle special characters
- Include proper XML declaration
- Structure exactly as shown in the example below
7. **Question type formats**:
**Multiple Choice:**
- Provide the specified number of choices
- Mark exactly ONE choice as correct="true"
- All others marked as correct="false"
**True/False:**
- Provide exactly 2 choices: "True" and "False"
- Mark the correct one
**Essay (if requested):**
- No choices section
- Include sample answer guidance in feedback
---
## OUTPUT FORMAT
Generate the XML exactly in this format:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<quiz_bank name="[Canvas_Classic_Quiz_Bank_Name]">
<question type="multiple_choice" question_id="[Canvas_Classic_Quiz_Bank_Name]_1">
<text><![CDATA[Your well-crafted question text here based on article content?]]></text>
<points>[Points_Per_Question]</points>
<general_feedback><![CDATA[Comprehensive explanation of the correct answer with reference to article content.]]></general_feedback>
<correct_feedback><![CDATA[Comprehensive explanation of the correct answer with reference to article content.]]></correct_feedback>
<incorrect_feedback><![CDATA[Comprehensive explanation of the correct answer with reference to article content.]]></incorrect_feedback>
<choices>
<choice correct="true"><![CDATA[The correct answer choice]]></choice>
<choice correct="false"><![CDATA[Plausible distractor 1]]></choice>
<choice correct="false"><![CDATA[Plausible distractor 2]]></choice>
<choice correct="false"><![CDATA[Plausible distractor 3]]></choice>
</choices>
</question>
<!-- Repeat for each question -->
</quiz_bank>
```
---
## ADDITIONAL INSTRUCTIONS
- Return ONLY the XML output, with no preamble or explanation
- Ensure all XML is valid and well-formed
- If the article cannot be accessed, return an error message explaining the issue
- If the article is too short to generate the requested number of quality questions, indicate this and generate what's possible
- Ensure questions test understanding, not just memorization (unless difficulty is "easy")
- Distribute questions across the article content (beginning, middle, and end) when possible
---
## READY TO GENERATE
With the parameters configured above, generate the Canvas Classic Quiz Bank XML based on the article at:
**[Article_URL]**
"
Question Format
Real-world context (robotics, engineering, computing)
Avoid trivia
Test understanding, not memorization
Answer Choices
A = Correct answer
B–D = Plausible distractors
Avoid “all of the above”
Feedback Structure (Per Question) This should be found in the feedback section... I typically put this in the Right and wrong section, so students see this feedback if they are right or wring.
Correct Answer Explanation:
Explain WHY the answer is correct using plain language.
Dig Deeper:
Suggest:
- A concept to review
- A hands-on experiment
- A coding exercise
- A real-world application
I’ve created a sample QTI 1.2 quiz using the best-practice format above.
👉 Download example_canvas_teacher_prompt_quiz_qti.zip
Example Topic Used:
Python Variables and Data Types (Robotics Context)
Includes:
Multiple-choice questions (A–D)
Correct-answer feedback
“Dig Deeper” learning prompts
Canvas FFT–compatible structure
Open your Canvas course
Go to Settings
Select Import Existing Content
Content Type → QTI .zip file
Upload the downloaded ZIP
Click Import (you might be asked to import into an existing quiz bank, but it did not seem to go there and imported to a new quiz bank with the name <no name - file name>. The best practice would be to them move all of these quiz bank questions to a organized quiz bank and then delete that newly created quiz bank )
Go to Quizzes
Go to Manage Quiz Bank: (Find the new quiz bank, it did not seem to go to where I said to import int, but rather, it was imported to a new quiz bank with the name <no name - file name>. The best practice would be to them move all of these quiz bank questions to a organized quiz bank and then delete that newly created quiz bank )
Recommend moving the quiz bank question to a organized quiz bank you have or create.
Go to Modules, and create a new classic quiz, with all the normal instructions, and then "find questions" from the quiz bank you organized these new questions into.
Click Find Questions
Select the imported Question Bank
Randomize or reuse freely, I typically have lots of my "see if students are understanding" quizzes set as multiple time, with 2 try's and average the results. this way if they get 100% they just move on, if they don't get 100%, they can try again, to improve their score... but they have to try on the first try.
Chat GPT prompt to generate a and XML file that can then be used to generate a Quiz bank on a specific topic. make edits to the prompt as needed.
PROMPT Cut and Paste including the Quote marks, into ChatGPT or the LLM of your choice:
"
Edit these parameters before running the prompt:
Canvas_Classic_Quiz_Bank_Name: [Enter quiz bank name, e.g., "Biology_Chapter5"]
Quiz_Bank_Description: [Brief description of quiz bank purpose, e.g., "Assessment for photosynthesis unit"]
Number_Of_Questions: [Enter number between 1-20, e.g., "5"]
Points_Per_Question: [Enter points, e.g., "1" or "2"]
Question_Difficulty: [Enter: "easy", "medium", "hard", or "mixed"]
Blooms_Taxonomy_Level: [Enter: "knowledge", "comprehension", "application", "analysis", "synthesis", "evaluation", or "mixed"]
Question_Types_Distribution: [Enter: "all_multiple_choice" OR specify like "80% multiple_choice, 20% true_false"]
Answer_Choices_Per_Question: [For multiple choice: "4" is standard, can use "3" or "5"]
Include_Distractors_Strategy: [Enter: "challenging" for harder wrong answers, "obvious" for easier quiz, or "balanced"]
Randomize_Answers: [Enter: "yes" to recommend shuffling answer order in Canvas, or "no"]
Allow_Partial_Credit: [Enter: "yes" or "no" - for questions with multiple correct elements]
Time_Limit_Per_Question: [Optional: Suggested time in minutes, e.g., "2" or leave blank]
Article_URL: [Paste the full URL here, e.g., "https://example.com/article"]
Include_Images_From_Article: [Enter: "yes" to reference relevant images, "no" to skip]
Citation_Style: [Enter: "APA", "MLA", "Chicago", or "none" for how to reference article in feedback]
Focus_Areas: [Optional: Specify topics to emphasize, e.g., "focus on main concepts and definitions" or leave blank for balanced coverage]
Avoid_Topics: [Optional: Specify what NOT to include, e.g., "skip historical dates" or leave blank]
Tags_Categories: [Optional: Comma-separated tags for organization, e.g., "Chapter 5, Vocabulary, Critical Thinking" or leave blank]
You are a Canvas LMS quiz bank generator. Your task is to:
Fetch and analyze the article at the provided URL
Extract the main content, ignoring advertisements, navigation menus, sidebars, and promotional content
Identify key concepts, important facts, definitions, and main arguments
Note the article's tone, subject matter, and educational level
If [Include_Images_From_Article] is "yes", identify relevant images/diagrams and reference them
Generate quiz questions according to specifications:
Create exactly [Number_Of_Questions] questions
Set difficulty to [Question_Difficulty]
Target Bloom's Taxonomy level: [Blooms_Taxonomy_Level]
Distribute question types as specified: [Question_Types_Distribution]
Each question worth [Points_Per_Question] points
For multiple choice questions, provide [Answer_Choices_Per_Question] answer choices
Apply distractor strategy: [Include_Distractors_Strategy]
Answer randomization recommendation: [Randomize_Answers]
Partial credit eligibility: [Allow_Partial_Credit]
Suggested time per question: [Time_Limit_Per_Question] minutes (if specified)
Focus on: [Focus_Areas] (if specified)
Avoid: [Avoid_Topics] (if specified)
Apply tags/categories: [Tags_Categories] (if specified)
Question ID generation:
Format: [Canvas_Classic_Quiz_Bank_Name]_[sequential_number]
Example: If quiz bank name is "Biology_Chapter5" and 5 questions requested, generate:
Biology_Chapter5_1
Biology_Chapter5_2
Biology_Chapter5_3
Biology_Chapter5_4
Biology_Chapter5_5
Question quality requirements based on Bloom's Taxonomy:
Knowledge: Recall facts, terms, basic concepts
Comprehension: Explain ideas, summarize, interpret
Application: Use information in new situations, solve problems
Analysis: Break down information, identify relationships, distinguish between facts
Synthesis: Combine elements, propose alternatives, create solutions
Evaluation: Justify decisions, critique arguments, assess value
Mixed: Distribute questions across multiple levels appropriately
Question quality standards:
Questions must be clear, unambiguous, and directly related to article content
Avoid "trick questions" unless difficulty is set to "hard"
Wrong answer choices (distractors) should be plausible but clearly incorrect
For "challenging" distractors: use common misconceptions or partial truths
For "obvious" distractors: use clearly wrong options for easier assessment
For "balanced" distractors: mix of moderate difficulty
Avoid "all of the above" or "none of the above" options unless contextually appropriate
Vary question stems (What, Why, How, Which, When, Analyze, Evaluate) for diversity
Feedback generation:
Create detailed, educational feedback that:
Explains WHY the correct answer is correct
References specific information from the article
Addresses common misconceptions (especially for "challenging" distractors)
Helps students learn from mistakes
If [Citation_Style] is specified, include proper citation to the article
Use the SAME feedback text for all three feedback fields:
general_feedback (shown to all students)
correct_feedback (shown when answer is correct)
incorrect_feedback (shown when answer is incorrect)
Image handling (if Include_Images_From_Article = "yes"):
Reference relevant images/diagrams in question text when appropriate
Include image URLs in comments within the XML
Suggest where images should be embedded in Canvas
Metadata and organization:
Include quiz bank name: [Canvas_Classic_Quiz_Bank_Name]
Include description: [Quiz_Bank_Description]
Add tags if specified: [Tags_Categories]
Note if partial credit is recommended: [Allow_Partial_Credit]
Include time suggestions if specified: [Time_Limit_Per_Question]
XML output format:
Generate valid XML following Canvas Classic Quiz Bank structure
Use CDATA sections for all text content to handle special characters
Include proper XML declaration
Add metadata in XML comments at the top
Structure exactly as shown in the example below
Question type formats:
Multiple Choice:
Provide the specified number of choices
Mark exactly ONE choice as correct="true"
All others marked as correct="false"
True/False:
Provide exactly 2 choices: "True" and "False"
Mark the correct one
Essay (if requested):
No choices section
Include sample answer guidance in feedback
Note expected length in question text
Generate the XML exactly in this format:
<?xml version="1.0" encoding="UTF-8"?>
<!--
Quiz Bank: [Canvas_Classic_Quiz_Bank_Name]
Description: [Quiz_Bank_Description]
Number of Questions: [Number_Of_Questions]
Difficulty: [Question_Difficulty]
Bloom's Level: [Blooms_Taxonomy_Level]
Source: [Article_URL]
Generated: [Current Date]
Tags: [Tags_Categories]
Randomize Answers: [Randomize_Answers]
Partial Credit: [Allow_Partial_Credit]
Time per Question: [Time_Limit_Per_Question] minutes
-->
<quiz_bank name="[Canvas_Classic_Quiz_Bank_Name]" description="[Quiz_Bank_Description]">
<question type="multiple_choice" question_id="[Canvas_Classic_Quiz_Bank_Name]_1" difficulty="[difficulty_level]" blooms_level="[taxonomy_level]" time_limit="[Time_Limit_Per_Question]">
<text><![CDATA[Your well-crafted question text here based on article content?]]></text>
<points>[Points_Per_Question]</points>
<general_feedback><![CDATA[Comprehensive explanation of the correct answer with reference to article content. [Include citation if Citation_Style is specified]]]></general_feedback>
<correct_feedback><![CDATA[Comprehensive explanation of the correct answer with reference to article content. [Include citation if Citation_Style is specified]]]></correct_feedback>
<incorrect_feedback><![CDATA[Comprehensive explanation of the correct answer with reference to article content. [Include citation if Citation_Style is specified]]]></incorrect_feedback>
<choices randomize="[yes/no based on Randomize_Answers]">
<choice correct="true"><![CDATA[The correct answer choice]]></choice>
<choice correct="false"><![CDATA[Plausible distractor 1]]></choice>
<choice correct="false"><![CDATA[Plausible distractor 2]]></choice>
<choice correct="false"><![CDATA[Plausible distractor 3]]></choice>
</choices>
<tags><![CDATA[[Tags_Categories if specified]]]></tags>
<partial_credit>[yes/no]</partial_credit>
<!-- Image reference: [URL if Include_Images_From_Article = yes] -->
</question>
<!-- For True/False questions -->
<question type="true_false" question_id="[Canvas_Classic_Quiz_Bank_Name]_2" difficulty="[difficulty_level]" blooms_level="[taxonomy_level]" time_limit="[Time_Limit_Per_Question]">
<text><![CDATA[True or false question based on article?]]></text>
<points>[Points_Per_Question]</points>
<general_feedback><![CDATA[Explanation with article reference and citation.]]></general_feedback>
<correct_feedback><![CDATA[Explanation with article reference and citation.]]></correct_feedback>
<incorrect_feedback><![CDATA[Explanation with article reference and citation.]]></incorrect_feedback>
<choices randomize="[yes/no]">
<choice correct="true"><![CDATA[True]]></choice>
<choice correct="false"><![CDATA[False]]></choice>
</choices>
<tags><![CDATA[[Tags_Categories if specified]]]></tags>
<partial_credit>no</partial_credit>
</question>
<!-- For Essay questions -->
<question type="essay" question_id="[Canvas_Classic_Quiz_Bank_Name]_3" difficulty="[difficulty_level]" blooms_level="[taxonomy_level]" time_limit="[Time_Limit_Per_Question]">
<text><![CDATA[Essay question requiring analysis/synthesis (expected length: 200-300 words)?]]></text>
<points>[Points_Per_Question]</points>
<general_feedback><![CDATA[Sample answer framework: Key points to include: 1) ... 2) ... 3) ... Reference to article content and citation.]]></general_feedback>
<correct_feedback><![CDATA[Sample answer framework: Key points to include: 1) ... 2) ... 3) ... Reference to article content and citation.]]></correct_feedback>
<incorrect_feedback><![CDATA[Sample answer framework: Key points to include: 1) ... 2) ... 3) ... Reference to article content and citation.]]></incorrect_feedback>
<tags><![CDATA[[Tags_Categories if specified]]]></tags>
<partial_credit>[yes/no]</partial_credit>
</question>
<!-- Repeat for remaining questions -->
</quiz_bank>
When [Citation_Style] is specified, format article references as:
APA Format: According to [Article Title] (Author, Year), ...
MLA Format: As stated in [Article Title] by Author, ...
Chicago Format: [Article Title], by Author, notes that ...
None: Do not include formal citations, but still reference "the article" generically.
Return ONLY the XML output with metadata comments at the top
Ensure all XML is valid and well-formed
If the article cannot be accessed, return an error message explaining the issue
If the article is too short to generate the requested number of quality questions, indicate this and generate what's possible
Ensure questions test understanding appropriate to the Bloom's level specified
Distribute questions across the article content (beginning, middle, and end) when possible
For "mixed" difficulty or Bloom's level, vary appropriately across questions
If requesting images, provide image URLs in comments for manual insertion in Canvas
With the parameters configured above, generate the Canvas Classic Quiz Bank XML based on the article at: [Article_URL]
Analyze the article content, generate high-quality questions meeting all specifications, and output the complete XML ready for import into Canvas LMS.
"
x
Chat GPT prompt to generate a and XML file that can then be used to generate a Quiz bank on a specific topic. make edits to the prompt as needed.
PROMPT Cut and Paste including the Quote marks, into ChatGPT or the LLM of your choice:
"
Edit these parameters before running the prompt:
Canvas_Classic_Quiz_Bank_Name: [Enter quiz bank name, e.g., "Space Ships"]
Quiz_Bank_Description: [Review of Article]
Number_Of_Questions: [10]
Points_Per_Question: [10]
Question_Difficulty: [mixed]
Blooms_Taxonomy_Level: [mixed]
Question_Types_Distribution: [80% multiple_choice, 20% true_false]
Answer_Choices_Per_Question: [4]
Include_Distractors_Strategy: [balanced]
Randomize_Answers: [no]
Allow_Partial_Credit: [yes]
Time_Limit_Per_Question: [ ]
Article_URL: [Paste the full URL here, e.g., "https://example.com/article"]
Include_Images_From_Article: [yes]
Citation_Style: [url link]
Focus_Areas: [ ]
Avoid_Topics: [ ]
Tags_Categories: [Optional: Comma-separated tags for organization, e.g., "Chapter 5, Vocabulary, Critical Thinking" or leave blank]
You are a Canvas LMS quiz bank generator. Your task is to:
Fetch and analyze the article at the provided URL
Extract the main content, ignoring advertisements, navigation menus, sidebars, and promotional content
Identify key concepts, important facts, definitions, and main arguments
Note the article's tone, subject matter, and educational level
If [Include_Images_From_Article] is "yes", identify relevant images/diagrams and reference them
Generate quiz questions according to specifications:
Create exactly [Number_Of_Questions] questions
Set difficulty to [Question_Difficulty]
Distribute question types as specified: [Question_Types_Distribution]
Each question worth [Points_Per_Question] points
For multiple choice questions, provide [Answer_Choices_Per_Question] answer choices
Apply distractor strategy: [Include_Distractors_Strategy]
Answer randomization recommendation: [Randomize_Answers]
Partial credit eligibility: [Allow_Partial_Credit]
Suggested time per question: [Time_Limit_Per_Question] minutes (if specified)
Focus on: [Focus_Areas] (if specified)
Avoid: [Avoid_Topics] (if specified)
Apply tags/categories: [Tags_Categories] (if specified)
Question ID generation:
Format: [Canvas_Classic_Quiz_Bank_Name]_[sequential_number]
Example: If quiz bank name is "Space_Science _4" and 5 questions requested, generate:
Space_Science _4_1
Space_Science _4_2
Space_Science _4_3
Space_Science _4_4
Space_Science _4_5
Question quality requirements based on Bloom's Taxonomy:
Knowledge: Recall facts, terms, basic concepts
Comprehension: Explain ideas, summarize, interpret
Application: Use information in new situations, solve problems
Analysis: Break down information, identify relationships, distinguish between facts
Synthesis: Combine elements, propose alternatives, create solutions
Evaluation: Justify decisions, critique arguments, assess value
Mixed: Distribute questions across multiple levels appropriately
Question quality standards:
Questions must be clear, unambiguous, and directly related to article content
Avoid "trick questions" unless difficulty is set to "hard"
Wrong answer choices (distractors) should be plausible but clearly incorrect
For "challenging" distractors: use common misconceptions or partial truths
For "obvious" distractors: use clearly wrong options for easier assessment
For "balanced" distractors: mix of moderate difficulty
Avoid "all of the above" or "none of the above" options unless contextually appropriate
Vary question stems (What, Why, How, Which, When, Analyze, Evaluate) for diversity
Feedback generation:
Create detailed, educational feedback that:
Explains WHY the correct answer is correct
References specific information from the article
Addresses common misconceptions (especially for "challenging" distractors)
Helps students learn from mistakes
If [Citation_Style] is specified, include proper citation to the article
Use the SAME feedback text for all three feedback fields:
general_feedback (shown to all students)
correct_feedback (shown when answer is correct)
incorrect_feedback (shown when answer is incorrect)
Image handling (if Include_Images_From_Article = "yes"):
Reference relevant images/diagrams in question text when appropriate
Include image URLs in comments within the XML
Suggest where images should be embedded in Canvas
Metadata and organization:
Include quiz bank name: [Canvas_Classic_Quiz_Bank_Name]
Include description: [Quiz_Bank_Description]
Add tags if specified: [Tags_Categories]
Note if partial credit is recommended: [Allow_Partial_Credit]
Include time suggestions if specified: [Time_Limit_Per_Question]
XML output format:
Generate valid XML following Canvas Classic Quiz Bank structure
Use CDATA sections for all text content to handle special characters
Include proper XML declaration
Add metadata in XML comments at the top
Structure exactly as shown in the example below
Question type formats:
Multiple Choice:
Provide the specified number of choices
Mark exactly ONE choice as correct="true"
All others marked as correct="false"
True/False:
Provide exactly 2 choices: "True" and "False"
Mark the correct one
Essay (if requested):
No choices section
Include sample answer guidance in feedback
Note expected length in question text
Generate the XML exactly in this format:
<?xml version="1.0" encoding="UTF-8"?>
<!--
Quiz Bank: [Canvas_Classic_Quiz_Bank_Name]
Description: [Quiz_Bank_Description]
Number of Questions: [Number_Of_Questions]
Difficulty: [Question_Difficulty]
Bloom's Level: [Blooms_Taxonomy_Level]
Source: [Article_URL]
Generated: [Current Date]
Tags: [Tags_Categories]
Randomize Answers: [Randomize_Answers]
Partial Credit: [Allow_Partial_Credit]
Time per Question: [Time_Limit_Per_Question] minutes
-->
<quiz_bank name="[Canvas_Classic_Quiz_Bank_Name]" description="[Quiz_Bank_Description]">
<question type="multiple_choice" question_id="[Canvas_Classic_Quiz_Bank_Name]_1" difficulty="[difficulty_level]" blooms_level="[taxonomy_level]" time_limit="[Time_Limit_Per_Question]">
<text><![CDATA[Your well-crafted question text here based on article content?]]></text>
<points>[Points_Per_Question]</points>
<general_feedback><![CDATA[Comprehensive explanation of the correct answer with reference to article content. [Include citation if Citation_Style is specified]]]></general_feedback>
<correct_feedback><![CDATA[Comprehensive explanation of the correct answer with reference to article content. [Include citation if Citation_Style is specified]]]></correct_feedback>
<incorrect_feedback><![CDATA[Comprehensive explanation of the correct answer with reference to article content. [Include citation if Citation_Style is specified]]]></incorrect_feedback>
<choices randomize="[yes/no based on Randomize_Answers]">
<choice correct="true"><![CDATA[The correct answer choice]]></choice>
<choice correct="false"><![CDATA[Plausible distractor 1]]></choice>
<choice correct="false"><![CDATA[Plausible distractor 2]]></choice>
<choice correct="false"><![CDATA[Plausible distractor 3]]></choice>
</choices>
<tags><![CDATA[[Tags_Categories if specified]]]></tags>
<partial_credit>[yes/no]</partial_credit>
<!-- Image reference: [URL if Include_Images_From_Article = yes] -->
</question>
<!-- For True/False questions -->
<question type="true_false" question_id="[Canvas_Classic_Quiz_Bank_Name]_2" difficulty="[difficulty_level]" blooms_level="[taxonomy_level]" time_limit="[Time_Limit_Per_Question]">
<text><![CDATA[True or false question based on article?]]></text>
<points>[Points_Per_Question]</points>
<general_feedback><![CDATA[Explanation with article reference and citation.]]></general_feedback>
<correct_feedback><![CDATA[Explanation with article reference and citation.]]></correct_feedback>
<incorrect_feedback><![CDATA[Explanation with article reference and citation.]]></incorrect_feedback>
<choices randomize="[yes/no]">
<choice correct="true"><![CDATA[True]]></choice>
<choice correct="false"><![CDATA[False]]></choice>
</choices>
<tags><![CDATA[[Tags_Categories if specified]]]></tags>
<partial_credit>no</partial_credit>
</question>
<!-- For Essay questions -->
<question type="essay" question_id="[Canvas_Classic_Quiz_Bank_Name]_3" difficulty="[difficulty_level]" blooms_level="[taxonomy_level]" time_limit="[Time_Limit_Per_Question]">
<text><![CDATA[Essay question requiring analysis/synthesis (expected length: 200-300 words)?]]></text>
<points>[Points_Per_Question]</points>
<general_feedback><![CDATA[Sample answer framework: Key points to include: 1) ... 2) ... 3) ... Reference to article content and citation.]]></general_feedback>
<correct_feedback><![CDATA[Sample answer framework: Key points to include: 1) ... 2) ... 3) ... Reference to article content and citation.]]></correct_feedback>
<incorrect_feedback><![CDATA[Sample answer framework: Key points to include: 1) ... 2) ... 3) ... Reference to article content and citation.]]></incorrect_feedback>
<tags><![CDATA[[Tags_Categories if specified]]]></tags>
<partial_credit>[yes/no]</partial_credit>
</question>
<!-- Repeat for remaining questions -->
</quiz_bank>
When [Citation_Style] is specified, format article references as:
APA Format: According to [Article Title] (Author, Year), ...
MLA Format: As stated in [Article Title] by Author, ...
Chicago Format: [Article Title], by Author, notes that ...
None: Do not include formal citations, but still reference "the article" generically.
Return ONLY the XML output with metadata comments at the top
Ensure all XML is valid and well-formed
If the article cannot be accessed, return an error message explaining the issue
If the article is too short to generate the requested number of quality questions, indicate this and generate what's possible
Ensure questions test understanding appropriate to the Bloom's level specified
Distribute questions across the article content (beginning, middle, and end) when possible
For "mixed" difficulty or Bloom's level, vary appropriately across questions
If requesting images, provide image URLs in comments for manual insertion in Canvas
With the parameters configured above, generate the Canvas Classic Quiz Bank XML based on the article at: [Article_URL]
Analyze the article content, generate high-quality questions meeting all specifications, and output the complete XML ready for import into Canvas LMS.
"
x
(it seems Canvas, is continuing to reduce / fine tune the features in the free for teachers canvas)
This still seems to work:
Open your quiz or Assignment
Edit the assignment text like normal
When you are ready to add the HTML Ifram code for "embedding" a YouTube link:
Type "click on this You Tube Video Link"
go to the "View" tab and click HTML view.
Locate the html text "click on this You Tube Video Link"
in the editor, click enter right after that tag
paste something like this iframe
<iframe
width="800"
height="450"
src="https://www.youtube.com/embed/QvyTEx1wyOY?cc_load_policy=1&cc_lang_pref=en"
title="YouTube video player"
frameborder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; fullscreen"
allowfullscreen>
</iframe>
then save the assignment / quiz
for your specific link you can replace the https://www.youtube.com/embed/QvyTEx1wyOY?cc_load_policy=1&cc_lang_pref=en
Note: in the future this might break, and you still might need to revert to https://www.youtube.com/watch?v=QvyTEx1wyOY?cc_load_policy=1&cc_lang_pref=en
If you are a teacher and want to connect and teach this Lesson or Module, discuss how I teach it, give me feedback, please contact me at TopClown@STEAMClown.org
To access this Lesson Plan and the Teacher collaboration area, you will have needed to connect with me so I can Share the content with you. Please go to the Teachers & Partner Page, check out my Licensing and fill out my Collaboration and Curriculum Request Form. I'll review and then grant you access to the requested areas and lesson plans if they exist.
If you have questions or feedback on how I can make a presentation, lesson, lab better please give use my Feedback Form.
Reference Sites -
https://imgbin.com/png/ZJtzkYZZ/under-construction-png