diff --git a/TeachingHowTos/EmbedQuizQuestions.ipynb b/TeachingHowTos/EmbedQuizQuestions.ipynb index 93fc4a6..319acb1 100644 --- a/TeachingHowTos/EmbedQuizQuestions.ipynb +++ b/TeachingHowTos/EmbedQuizQuestions.ipynb @@ -1,210 +1,188 @@ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# How to add auto-corrected quiz questions to my notebooks?\n", "\n", "\n", "
\n", "\"Moodle\n", "\"Moodle\n", "
\n", "\n", "Interactive quiz questions are a great way to engage students with the content of the notebook and to help them check their understanding. \n", "In this notebook, we present how to **create quiz questions in moodle** (using the H5P plugin) and **embed the questions into your notebooks**. \n", "\n", "The figure on the righ shows an example of what it can look like, before and after a student submits an answer.\n", "\n", "
 
\n", "\n", "\n", "\n", "## Why use moodle?\n", "\n", "

There are other ways to integrate quiz questions into notebooks but the solution we suggest here has a very important characteristic: the data collected on students' responses is stored on the EPFL moodle server.
\n", "This is extremely important in order to be consistent with the data protection and professional confidentiality provisions of Swiss law.

\n", "\n", "In addition, using moodle to create quiz questions has **a number of advantages**:\n", "* The moodle H5P plugin for creating quiz questions offers a [wide range of question types](https://h5p.org/content-types-and-applications) with multiple options to customize them ;\n", "* You don't need to write code to correct the quiz questions, the moodle H5P plugin has multiple options that allow you to give feedback automatically to students when they answer the quiz ;\n", "* In your moodle page, you will be able to see how people answer your quiz question, which can give you useful feedback ;\n", "* The quiz questions that you create in moodle can be reused for different purposes (e.g. learning activities in moodle) and they can also be exported / imported.\n", "\n", "However, this solution (as any other) also has some limitations.\n", "\n", "## Limitations\n", "\n", "You need to **have a moodle course page** for creating the quiz questions and you need to have the \"teacher\" (or \"manager\") role on this page to be able to edit it. \n", "We suggest you use the moodle page of one of your courses. In case this is not possible or not adapted for your project, don't hesitate to [contact us](mailto:noto-support@groupes.epfl.ch) to discuss other options.\n", "\n", "One important limitation of this is that the quiz questions will be **visible only to**:\n", "* **persons who have access to the EPFL moodle server** (i.e. EPFL students and staff) \n", "* and, depending on how registrations are set up on your moodle page, persons who are **registered as participants on your moodle course**. \n", "\n", "Please [check below](#Step-0:-check-who-will-have-access-to-your-quiz-questions) who will have access to your quiz questions before anything else. \n", "This solution is **not adequate if you want the general public to use the quiz questions in your notebooks**. \n", "Don't hesitate to [contact us](mailto:noto-support@groupes.epfl.ch) to discuss other options. \n", "\n", "\n", "## Step 0: check who will have access to your quiz questions \n", "\n", "In your moodle course, go to the \"Participants\" page. Check the \"Enrolment methods\" which are activated on your course:\n", "* \"External database\": this means all students who are registered on your course on IS-Academia have access to your quiz questions - this is the option recommanded so that your students can use your quiz questions\n", "* \"Manual enrolment\": this means that you will have to add manually the persons you want to have access to your quiz questions\n", "* \"Self enrolment\": this means anyone can register to your course and have access to your quiz questions - this is the option recommanded so that all EPFL students and staff can use your quiz questions\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Step 1: create a quiz question in moodle\n", "\n", "\n", "You need to *turn editing on* your moodle page before proceeding to the next steps.\n", "\n", "

Add a hidden section to your moodle page

\n", "\n", "We suggest that you create an additional section (\"topic\") in your moodle course page, which will serve as a container for your quiz questions. \n", "To add a section, then go at the bottom of the moodle page and click on \"Add topics\".\n", "\n", "We also suggest that you hide this section from your moodle page so that the quiz question are visible only in the notebooks - of course, if you want your students to see the questions in your moodle page then skip this step. \n", "At the top of the section, select \"Edit\" then \"Hide topic\". A blue tage should appear just below the title of the section saying `Hidden from students`.\n", "\n", "\n", "

Create a question

\n", "To create a new quiz question, use the \"Add an activity\" dropdown menu and then choose \"Interactive content\" as shown on the figure below. \n", "Attention: do not select the \"quiz\" option in the dropdown menu (this type of quiz cannot be embedded in a notebook).\n", "\n", "\"Interactive\n", "\n", "Select the type of question that you want in the list and click on it.\n", "\n", "\"Content\n", "\n", "Fill out the form to create your question, then choose \"Save and return to course\".\n", "\n", "

Make the question available

\n", "\n", "You have to make the quiz question available outside of moodle (i.e. in your notebooks). On the right side of the activity, select the \"Edit\" menu and then click on \"Make available\", as shown on the image below.\n", "\n", "\"Make\n", "\n", "Once this is done, a blue tag saying `Available but not shown on course page` should appear right below your quiz question.\n", "\n", " " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Step 2: embed the question into a notebook\n", "\n", "

Get the URL of your question

\n", "\n", "From your moodle page, click on your new question. This will open your question and show you how it will look like for students. \n", "Click on the \"<> Embed\" link at the bottom of the question, as shown on the figure below. Copy the code which appears in the \"Embed\" popup.\n", "\n", "\"Embed\"\n", "\n", "Paste the code into your favorite text editor and find the URL of the question, which should appear between quotes after `src=` (just after the `iframe` tag), as shown below. Copy this URL.\n", "\n", "\"Embed\"\n", "\n", "\n", "

Add your quiz question to your notebook

\n", "\n", "In your notebook, add a Python cell where you want the question to appear. Copy paste the following code snipped, which creates an iFrame in which your question will be embedded, and replace `URLOFYOURQUESTION` by the URL of your question.\n", "\n", "```python\n", "from IPython.display import IFrame\n", "IFrame('URLOFYOURQUESTION', 800, 600)\n", "```\n", "\n", "You can customize the size of the iFrame by changing the `800` (width) and `600` (height) values. \n", "\n", "You might also want to add a short line of text just before the cell to indicate to students that they have to execute the cell to see the quiz. \n", "The first time students use your notebooks, you need to explain that they also have to be logged on moodle to see the quiz - after one use, they will easily get the trick. \n", "\n", "Have a look at the demo below!" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Demo\n", "\n", "To be able to see the demo quiz question, you need to be registered as participant on our moodle course (this is one important limitation of this solution, please see the [Limitations section](#Limitations)). \n", "Please open a new tab or window, **log on [moodle](https://moodle.epfl.ch/enrol/index.php?id=15917)** and **register yourself on the [Noto Community moodle page](https://moodle.epfl.ch/enrol/index.php?id=15917)**.\n", "\n", "Then execute the cell below to activate the interactive quiz. \n", "\n", "" ] }, { "cell_type": "code", - "execution_count": 21, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - " \n", - " " - ], - "text/plain": [ - "" - ] - }, - "execution_count": 21, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "from IPython.display import IFrame\n", "IFrame('https://moodle.epfl.ch/mod/hvp/embed.php?id=1028285', 800, 600)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If you see the message `Vous n'avez pas accès à ce contenu. Essayez de vous connecter.`, check that you are logged on [moodle](https://moodle.epfl.ch/) using your GASPAR account and that you are registered as participant on the [Noto Community moodle page](https://moodle.epfl.ch/enrol/index.php?id=15917)." ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.8" } }, "nbformat": 4, "nbformat_minor": 4 }