diff --git a/TeachingHowTos/EmbedFeedbackSurvey.ipynb b/TeachingHowTos/EmbedFeedbackSurvey.ipynb new file mode 100644 index 0000000..a6aab70 --- /dev/null +++ b/TeachingHowTos/EmbedFeedbackSurvey.ipynb @@ -0,0 +1,73 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# How to get feedback from students on your notebooks?\n", + "\n", + "We provide a generic survey that you can embed into your notebooks to **collect anonymous feedback** from those who use your notebooks. \n", + "The survey is designed to be short and easy to fill out, with three questions (both in English and French) focusing on helpfulness, usability and a free text field for comments. You can see the survey form below. \n", + "The survey will automatically collect data for you. We then process the data and provide you with a summary of the feedback regularly. \n", + "\n", + "## How to use it?\n", + "\n", + "**Step 1:** Add a cell to your notebook and copy the following piece of code in it:\n", + "```\n", + "from IPython.display import IFrame\n", + "IFrame('https://www.surveymonkey.com/r/NOTOSURVEY?notebook_set=COURSENAME¬ebook_id=NOTEBOOKNAME', 600, 800)\n", + "```\n", + "\n", + "**Step 2:** In the code, replace the two following elements (attention: DO NOT USE SPACES, use dash or underscore to replace spaces):\n", + "* `COURSENAME`: replace by name of the project or course, e.g. `MecaDRIL` or `PHYS-101`\n", + "* `NOTEBOOKNAME`: replace by the name or code of the notebook in the course, e.g. `01-Logan` \n", + "\n", + "\n", + "Example of complete URL: \n", + "`https://www.surveymonkey.com/r/NOTOSURVEY?notebook_set=MecaDRIL¬ebook_id=01-Logan`\n", + "\n", + "**Optional:** It can be useful to add one line of text above the code cell with the survey to indicate to your students that you would appreciate their feedback on your notebook. \n", + "You could use something like:\n", + "\n", + "```\n", + "Did you like this Notebook? Why don't you give us some feedback using the completely anonymous form below (just execute the cell to see it)? Thank you!\n", + "```\n", + "\n", + "## Demo\n", + "\n", + "Execute the cell below to see the survey:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from IPython.display import IFrame\n", + "IFrame('https://www.surveymonkey.com/r/NOTOSURVEY?notebook_set=noto-poc-notebooks¬ebook_id=survey-monkey-demo', 600, 900)" + ] + } + ], + "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 +} diff --git a/TeachingHowTos/EmbedQuizQuestions.ipynb b/TeachingHowTos/EmbedQuizQuestions.ipynb new file mode 100644 index 0000000..8bfa03e --- /dev/null +++ b/TeachingHowTos/EmbedQuizQuestions.ipynb @@ -0,0 +1,92 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# How to integrate quiz questions in my notebooks?\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 and embed the questions into your notebooks.\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 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 other benefits:\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", + "* 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", + "## Step 1: create a quiz question in moodle\n", + "\n", + "**Requirement:** You need to have a moodle course ready for creating the quiz questions and have a teacher role on this page to be able to edit it. We suggest you use the moodle page of one of your courses. [Contact us](mailto:noto-support@groupes.epfl.ch) if you would like to discuss other possible options.\n", + "\n", + "**Step 1:** Create an additional section (\"topic\") in your moodle course page. You will create your quiz questions in this section. If you do not want your students to see the quiz questions in the moodle page, you can simply hide the whole section.\n", + "\n", + "**Step 2:** To create a new quiz question, use the \"Add an activity\" dropdown menu \n", + "\n", + "## Step 2: embed the question into a notebook\n", + "\n", + "## Limitations\n", + "\n", + "\n", + "## Demo\n", + "\n", + "Execute the cell below to activate the interactive quiz and answer the question." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + " \n", + " " + ], + "text/plain": [ + "" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from IPython.display import IFrame\n", + "IFrame('https://moodle.epfl.ch/mod/hvp/embed.php?id=1028285', 1024, 500)" + ] + } + ], + "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 +} diff --git a/Welcome.ipynb b/Welcome.ipynb index 104b45a..6a6f673 100644 --- a/Welcome.ipynb +++ b/Welcome.ipynb @@ -1,79 +1,118 @@ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "![EPFL](https://inside.epfl.ch/corp-id/wp-content/uploads/2019/05/EPFL_Logo_Digital_RGB_PROD-300x130.png) ![NOTO](Images/noto_300x130.png)\n", "\n", "# Welcome to ![noto](Images/noto_86x25_inline_transparent.png)'s Proof of Concepts ![poc](Images/poc_45x25_red.png) notebooks" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Congratulations!\n", "\n", "You have just used `nbgitpuller` to **clone** a git repository (https://c4science.ch/source/noto-poc-notebooks/) and **pull** its content in your jupyter workspace.\n", "\n", "The aim of this repository is to give you some practical hints on both the pedagogical and technical aspects of notebook writing.\n", "\n", "### Share the link !\n", "\n", - "Feel free to share the following link and give other people access to this git repository: https://go.epfl.ch/bDS" + "Feel free to share the following link and give other people access to this git repository: https://go.epfl.ch/noto-examples\n", + "\n", + "## Available notebooks" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "# Available notebooks\n", - "\n", - "\n", - "| ![pedagogy](https://static1.squarespace.com/static/564f72ade4b0b0384379a293/t/5c7e8aefe79c701d7e5f4763/1551796980913/strategy.png) | Using notebooks for teaching: examples |   | ![technical](https://cdn4.iconfinder.com/data/icons/gnome-desktop-icons-png/PNG/64/Gnome-Preferences-System-64.png) | Technical notebooks |\n", - "|:-|:-|--|:-|:-|\n", - "| ![question](https://cdn0.iconfinder.com/data/icons/super-mono-reflection/red/question-balloon_red.png) | Examples of notebooks for [virtual demonstrations](TeachingExamples/01_Demonstrations.ipynb) in class |   | ![python](http://www.techteachers.co.za/wp-content/uploads/python-logo64.png) | How to [organize](HowTos/OrganizeCode/OrganizeCode.ipynb) your Python code?|\n", - "| ![question](https://cdn0.iconfinder.com/data/icons/super-mono-reflection/red/question-balloon_red.png) | Examples of notebooks for [exercises and assignments](TeachingExamples/02_Assignments.ipynb) |   | ![python](http://www.techteachers.co.za/wp-content/uploads/python-logo64.png) ![multimedia](https://images.sftcdn.net/images/t_app-logo-l,f_auto,dpr_auto/p/974baeec-42f5-405c-8bbc-fec81b7a2bf6/3217395839/focus-picture-gallery-icon.png) | How to embed [external resources](HowTos/EmbedExternalResources/EmbedExternalResources.ipynb) in your notebooks? |\n", - "|   |   |   | ![git](https://www.file-extension.info/images/resource/64/git.png) | How to [share](HowTos/SharingYourNotebooks/SharingYourNotebooks.ipynb) your notebooks wih git? |\n" + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
\"technical\"Teaching \"How to's\" \"pedagogy\"Examples of notebooks for teaching \"technical\"Technical \"How to's\"
\"question\"How to get feedback from students on my notebooks? \"question\"Examples of notebooks for virtual demonstrations in class \"python\"How to organize your Python code?
\"question\"How to add auto-corrected quiz questions to my notebooks? \"question\"Examples of notebooks for exercises and assignments \"python\" \"multimedia\"How to embed external resources in your notebooks?
      \"git\"How to share your notebooks wih git?
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Contact and support\n", "\n", "For any question, feel free to contact ![noto](Images/noto_inline_transparent.png) support: [noto-support@groupes.epfl.ch](mailto:noto-support@groupes.epfl.ch)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**End of the notebook**" ] } ], "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 }