diff --git a/TeachingHowTos/EmbedLivePolls.ipynb b/TeachingHowTos/EmbedLivePolls.ipynb
new file mode 100644
index 0000000..ee1309e
--- /dev/null
+++ b/TeachingHowTos/EmbedLivePolls.ipynb
@@ -0,0 +1,146 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# How to embed live polls into my notebooks?\n",
+ "\n",
+ "\n",
+ "
\n",
+ "
\n",
+ "
\n",
+ "
\n",
+ "\n",
+ "Live polling in a notebook can help you **monitor how many students are currently working** on your notebook, for instance by integrating a poll right at the beginning of your notebook. \n",
+ "It can also provide you with live feedback on students' understanding of the contents of your notebook as well as on how fast they make progress, for instance by integrating a poll at the end of each exercise.\n",
+ "\n",
+ "In this notebook, we present how to **create live polls in [SpeakUp](http://speakup.info/)** and **embed polls into your notebooks**. \n",
+ "\n",
+ "The figure on the right shows an example of what a live poll can look like, before and after a student submits an answer.\n",
+ "\n",
+ "To see an example of a notebook including a live poll, have a look at the [demo](#DemoSection) at the end of this notebook. "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Why use SpeakUp?\n",
+ "\n",
+ "There are other ways to create live polls and embed them into notebooks, but SpeakUp has a major advantage: it is a **free software** developped jointly by UNIL and EPFL, which means that **user data is hosted on campus**. \n",
+ "\n",
+ "In addition, SpeakUp exists both as a [web app](https://web.speakup.info/) and as an iOs/Android client. It also combines seamlessly both polling features but also messaging features ([more information here](http://speakup.info/features)).
\n",
+ "Of course, SpeakUp can also be used independently from notebooks!\n",
+ "\n",
+ "In the following, we detail the steps to set up a SpeakUp chatroom, create a poll and integrate it into a notebook."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Step 1: create a chatroom\n",
+ "\n",
+ "The basic element of interaction in SpeakUp is called a chatroom. A chatroom is a virtual space where students can join you to see your polls (or to discuss with you or among themselves).\n",
+ "\n",
+ "When you arrive on the web interface of SpeakUp, you can create a chatroom by simply clicking on the button `Create New Room +`. A room has to be provided with a name. \n",
+ "We also recommend you to **make the room permanent**, otherwise it will be automatically deleted after 24 hours of inactivity.\n",
+ "\n",
+ "\n",
+ "\n",
+ "If you do not want students to use your chatroom to discuss with you or among themselves, then you can **disable posting**. In this case, only you will be able to post polls or messages in the chatroom.\n",
+ "\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Step 2: create a poll\n",
+ "\n",
+ "To create a poll, click on the `+` button in the toolbar at the bottom of the chatroom. Only the creator (owner) of the room can see this button and create polls.\n",
+ "\n",
+ "\n",
+ "\n",
+ "Select the options that you want for your poll, then click on the arrow button on the right side.\n",
+ "\n",
+ "\n",
+ "\n",
+ "From within SpeakUp, you will be able to monitor the poll in real time and see both **the number of respondents** and the proportion of respondents choosing each of the poll options. \n",
+ "The button at the bottom left allows you to **close the poll** to stop participants from voting (you can reopen it) and the button at the bottom right allows you to **show the poll results** to participants (otherwise they don't see it).\n",
+ "\n",
+ "\n",
+ "\n",
+ "On their side, students will interact with the poll embedded into your notebook."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Step 3: embed the poll into a notebook\n",
+ "\n",
+ "To embed a poll into a notebook, you have to actually embed the whole chatroom. \n",
+ "To do this, you will need to get the **number** of your room. In the following example, the room number is `82529`.\n",
+ "\n",
+ "\n",
+ "\n",
+ "You can copy the piece of code below and paste it in a code cell.\n",
+ "Then, in the URL, **replace the part `ROOMNUMBER` by the actual number** of your room. \n",
+ "\n",
+ "```Python\n",
+ "from IPython.display import IFrame\n",
+ "IFrame('https://speakup.graasp.eu/ng/room/ROOMNUMBER', 600, 600)\n",
+ "```\n",
+ "\n",
+ "With the example above, the URL would be: `https://speakup.graasp.eu/ng/room/82529`.\n",
+ "\n",
+ "And that's it! When they will execute the cell, students will see the poll you have created in your SpeakUp room directly in the notebook. \n",
+ "The poll will be automatically updated and refreshed when you, as a teacher, interact with it as we have seen above."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Demo\n",
+ "\n",
+ "**Try it!** Execute the cell to see the poll and vote."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "from IPython.display import IFrame\n",
+ "IFrame('https://speakup.graasp.eu/ng/room/62858', 600, 600)"
+ ]
+ }
+ ],
+ "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.9"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}
diff --git a/TeachingHowTos/Images/SpeakUpPoll-After.png b/TeachingHowTos/Images/SpeakUpPoll-After.png
new file mode 100644
index 0000000..9156a4a
Binary files /dev/null and b/TeachingHowTos/Images/SpeakUpPoll-After.png differ
diff --git a/TeachingHowTos/Images/SpeakUpPoll-Before.png b/TeachingHowTos/Images/SpeakUpPoll-Before.png
new file mode 100644
index 0000000..b3828a1
Binary files /dev/null and b/TeachingHowTos/Images/SpeakUpPoll-Before.png differ
diff --git a/TeachingHowTos/Images/SpeakUpPoll-CreatePollForm.png b/TeachingHowTos/Images/SpeakUpPoll-CreatePollForm.png
new file mode 100644
index 0000000..9c72ab0
Binary files /dev/null and b/TeachingHowTos/Images/SpeakUpPoll-CreatePollForm.png differ
diff --git a/TeachingHowTos/Images/SpeakUpPoll-CreatePollMenu.png b/TeachingHowTos/Images/SpeakUpPoll-CreatePollMenu.png
new file mode 100644
index 0000000..6519eba
Binary files /dev/null and b/TeachingHowTos/Images/SpeakUpPoll-CreatePollMenu.png differ
diff --git a/TeachingHowTos/Images/SpeakUpPoll-CreateRoom.png b/TeachingHowTos/Images/SpeakUpPoll-CreateRoom.png
new file mode 100644
index 0000000..25a7766
Binary files /dev/null and b/TeachingHowTos/Images/SpeakUpPoll-CreateRoom.png differ
diff --git a/TeachingHowTos/Images/SpeakUpPoll-DisablePosting.png b/TeachingHowTos/Images/SpeakUpPoll-DisablePosting.png
new file mode 100644
index 0000000..675eaea
Binary files /dev/null and b/TeachingHowTos/Images/SpeakUpPoll-DisablePosting.png differ
diff --git a/TeachingHowTos/Images/SpeakUpPoll-MonitorVotes.png b/TeachingHowTos/Images/SpeakUpPoll-MonitorVotes.png
new file mode 100644
index 0000000..c310270
Binary files /dev/null and b/TeachingHowTos/Images/SpeakUpPoll-MonitorVotes.png differ
diff --git a/TeachingHowTos/Images/SpeakUpPoll-PostingDisabled.png b/TeachingHowTos/Images/SpeakUpPoll-PostingDisabled.png
new file mode 100644
index 0000000..c6482a1
Binary files /dev/null and b/TeachingHowTos/Images/SpeakUpPoll-PostingDisabled.png differ
diff --git a/TeachingHowTos/Images/SpeakUpPoll-RoomNumber.png b/TeachingHowTos/Images/SpeakUpPoll-RoomNumber.png
new file mode 100644
index 0000000..77fd576
Binary files /dev/null and b/TeachingHowTos/Images/SpeakUpPoll-RoomNumber.png differ