diff --git a/notebook/JupyterNotebookGuide.ipynb b/notebook/JupyterNotebookGuide.ipynb new file mode 100644 index 0000000000000000000000000000000000000000..9b3624b10c5f4a42d0f857568228be096f0d2e08 --- /dev/null +++ b/notebook/JupyterNotebookGuide.ipynb @@ -0,0 +1,352 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "<img src=\" data:image/png;base64,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\" width=\"200\"/>\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Jupyter Notebooks Guide" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The course material of this Mooc is proposed in Jupyter notebooks which are documents that contain live code, equations, visualizations and narrative text. \n", + "\n", + "To manipulate these notebooks, the open-source web application Jupyter has been integrated into this Mooc. It does not require any installation on your side. All data and calculations will be hosted on our servers.\n", + "\n", + "This document is an example of a Jupyter Notebook. It presents you the Jupyter interface and how tu use the notebooks.\n", + "\n", + "Please note that **code parts can be evaluated and modified**. So you can easily try out variants around the original notebook. Don't hésitate because you will be able to reset to the original version of the notebook.\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## How to use Jupyter Notebooks\n", + "### Executing Python code" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "At the top of the notebook, you have a menu bar, containing:\n", + "\n", + "* a menu bar with the entries `File`, `Edit`, `Insert`, `Cell`, `Kernel`;\n", + "* and a button bar that are shortcuts to some frequently used menus. If you leave your mouse over a button, a small text will appear, indicating what function the button is for.\n", + "\n", + "A notebook consists of a series of cells, either textual or containing code. The code cells are easily recognisable, they are preceded by `In [ ]:`. The cell following the one you are reading is a code cell.\n", + "\n", + "To start, select this code cell below with your mouse, and press in the menu bar - at the top of the notebook, therefore - on the one in the form of a triangular arrow to the right (Run) :" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "<img src=\" data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAz8AAAAqCAYAAACdpuX2AAABP2lDQ1BJQ0MgUHJvZmlsZQAAKJFjYGASSCwoyGFhYGDIzSspCnJ3UoiIjFJgf8rAyMDHwMXAxGCemFxc4BgQ4ANUwgCjUcG3a0DVQHBZF2RWmkCPxM/DE8IuS89zlzytdh5TPQrgSkktTgbSf4A4KbmgqISBgTEByFYuLykAsVuAbJEioKOA7BkgdjqEvQbEToKwD4DVhAQ5A9lXgGyB5IzEFCD7CZCtk4Qkno7EhtoLAhwBPkbmlkYeBJxKOihJrSgB0c75BZVFmekZJQqOwBBKVfDMS9bTUTAyMDJkYACFN0T15xvgcGQU40CIJQL9YLgYKPgDIZb1hoFhXxgDA28YQkyLDeglID58vyCxKBHuAMZvLMVpxkYQNvd2BgbWaf//fw5nYGDXZGD4e/3//9/b////u4yBgfkWA8OBbwCAPV6OixBjpwAAAVlpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDUuNC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KTMInWQAAIvZJREFUeAHtnQd4HMUVx59cZEtWsy33JhvbGBuwaSYh9ACBAKEFUiAFUiC9kd5Ig/TeSQIhkAIOLaF8tBBTAgaDCy649yLLRd2WZZP3m2PE6nQnnaTdK9J737e6097uzsx/Z2fe/5XZvFdUxMQQMAQMAUPAEDAEDAFDwBDooQg0NzdLY2NjD22dNas9BAoKCqRfv34th/Rp+WZfDAFDwBAwBAwBQ8AQMAQMgR6IAMpvfn5+D2yZNak9BLjnQeLDsXnm+WkPMvvNEDAEDAFDwBAwBAwBQ6CnIIAHqKmpSQ4ePCgW/NRT7mrrduTl5UmfPn0c2Y0nPhxp5Kc1XvafIWAIGAKGgCFgCBgChoAhYAj0UAQs7K2H3lhrliFgCBgChoAhYAgYAoaAIWAItEbgteyf1vvtP0PAEDAEDAFDwBAwBAyBZAho+JQ01os01Ins1UT6fXtFmvaJ7N8vcvCAyIGDIq/olqd25r669ekr0r+/SP4AkQEDRQYWiBQWiRQMEk1KSFaK7TcEDIGQEWj1tDU0NEhtba3FQIYMsl3OEDAEEiNAXG5xcbEUFhYmPsD2GgKGgCGQSQQOKImprRap2iayc4fInl267RSp2SNSVytSr1uDEqC9EB/d9in5aYb8KOnhXBbU1XFO+irx0RwE6afkZ4CSn3zIj26FSnwGFYsU6VZSJlI2VLchIkOHiZSPFCkujZ2bSQysbEOghyHQivxAfEpKSlySUA9rpzXHEDAEshABEk5ramqM/GThvbEqGQK9EgE8NzuU6GxaJ7Jlg8j2LSKVW3XfdpFdVUp8dotUK/GpaVCio+TmYAhvC+mj5GiAkqMSNQKVQoAGiwwpFxk2QmT4KJERo0VGjxcZW6H7lBDhOTIxBAyBLiPQivyw6gWrI5gYAoaAIZAOBBhvbLWddCCdmTJ27dol69evd6sqRV0D+tKECRNkyBC1msdJuuqRDXWIa3qv+rer+PdrbJDCys1StHmdFG7dKAWVWyQfAlSlnp5qDWlrInwtAZSQloFKWgYSyqZLKBPSxkYIG7oU4W54ffD+EP6GN4hQOcLi2HTFMdnLp+5vJISuRsmWbrIhVpieKvl6jVINjSsfJk1KfBqHj5aGUeOkbkyFNAwfI80F5jVPcGdC2ZWsP6VrPAmlEXYRh0D8vWxFfgwjQ8AQMAQMAUMgLAQgPtOnT9con+gt1fs03Gjp0qUJyU+66pENdYi/d/Pnz5djjjkmfnfk/2ei3E7hv1+Jx5aNIksXiCxbKLJyqciaVSJbK2NExCMEARmoqtKQEkdAZDBhaeqZKdWNkLRBSkxc3o6SEPJ42Ahtc2FuSow8+XE5QOopIiSO3CA2JV0uX6heCRahddXqVcKztFvD6iBeu5QI7VVSVKmfuuXLaskv6Celo4aLTJosMmW6yGEzRabPUs/QOJm/aHFa73W673G6y0vWnxhPKioq9Bb31dtLBzFJFwLbtqlRoguydetWZ4jzxjEjP10A0U4xBAwBQ8AQ6BgBwhrTQXyoCeVQXiJJVz2yoQ6J2t9b9qWEPwsTrF0hMv9pkQXzlPwo8dmoYW17lZggeHNKlcCM1nCzMeNERo2NhZ2Vawga2xDNxRk8RI/RjXydviGoUQeU4JA3VK35RLt126XEp0rD7NgIu9u6SWSzErUtWs9aDctbo/vYnnxKZJzWc7oSoFmzpbRQCdkMJUQspGDSbQSS9Sc/nhj56TbEabnAqlWrZOXKlfKGN7yhpbwQntqWa9kXQ8AQMAQMAUPAEDAEsg6BPAjGqmUiTz8m8szjIovU47NDPSrk7PRVwjNcFxzAmzJpqkjFIUoqJin5mRAjPyxEwEptUQkECi8S29iJr5WCt4iFFRz5Wa8kbY3IutVKfJS84aXaqR6jlUqMVm/WNj0pk8ZX6CIM6jU64XRtg7YFD5RJJAhAfPpriKN5fiKBt8OLDh+u3s8U5YEHHmhzpD5xJoaAIWAIGAKGgCFgCPRQBHZXycjnn1CSsFhk3tOxvBrycIqUHExSsjFDw8amHaFhZDNi5IfQtijJTqowUwe3+pvWh/A2yBAhcZCflUtElmt7liiJW7NW21QtfSoXKUFaJ7JQPVpnXiBy/MnqpdKFE0xCRwDS47fQL24XjBwBIz+RQ2wFGAKGgCFgCBgCuYPAzp07hVdfIFi3R47UFcYiEFZ6rK7WXJckQthRZyy8CS+zXj0kD94po++6VUPHNIxsv5KeEs1B01w0OfYEDRc7PkYsCGnL9gWfIEND1eLNdozWnbA48pUWPCvyvJK6xS+JbFM8H3hQydFyEdp+9sUiEyYnhMZ2GgK9FQEjP731zlu7DQFDwBDIAgRWr16tr0jR5O8EMnjwYBk9enSCX6LfRYz4fl2Ra+rUqbp4V++YKg/oe2muu+46efrpp2Xs2LEOZBKFv/71r7eKlw8L/QsvvFDq6+tl2rRpbS65adMmR4xuuukmOeII9cp0RfCO3HGTkoF7YqSA5aSP0HC2U86KhYbhTSnShQxeFdo6apTm0OSCQNRYBpsNIqShbjVzbpOSleoNWqHhccvUG7T7Rg2NqxS59Ern1SJXZfny5SmtsFlaWtrSB8KEA1JdWVkp48aNcwsGhHltrkV/GjRIc7ECkmhf4Gf72gsR6B0jei+8sdZkQ8AQMASyHYFly5bJJz7xCYHkQIIQVlGC8CxcuNApMW984xvl05/+dFpj6xcsWCDvf//7XX0++clPyhVXXOG+p+MP3pDt27fLlClT0lFcSxkQny9+8YuyYcMGOeGEE+Rb3/qW++0HP/iBexdXy4EhfqGtrL509dVXt7nqP/7xD3nqqafci9fb/JjKDrwetyvxuXeOLiCgXiy8PadqLsy5l4ocrWSBF4nGyQUXXCDnnXeefPjDH5by8q6Fi/373/8WlkL2Qm7IscceK4ceeqjfFf4nBO64k2R9Q7McceA8kfvuEHlqbozw3aPtV2eXXHGNLNpd19KvO6oE3j7aEpY8+uij8rvf/U7Wrl3ryFe+Lg0+e/Zsufbaa90rVv75z3/Kxz72sW4X9+53v9uVE7x/tANvJvfVxBAAASM/1g8MAUPAEDAEMoJAY2OjzJo1yynb3/72t10dIBp4BFCIIUZ/+MMf5Pvf/7587nOfSxsB8iFfVCj4PWqQfv/738vNN9/sLOK8cPyDH/ygoJDHC+/Geu6555xHpKCg+yt7eeJTXFzsFNAHH9SwqYDs2LFDHnroIeE4BMX4qKOOChzR9a8QhY9//ONdv0CiM2t2izyk3h48PhCfUWVSr96RQVdfKzL5sKT5PHhG7r33Xnn44YflXe96l9s6i+9vf/tbRxa9x5L+85Of/MSF76GE876RqKQJEnSU5vmMrYi9IPX+u3WxBF0wARzUQ9R32rEpFw0WYcn1118vd955p2s7pJ7+wwpcTz75pOvHRUVFrs+HQX5YhpqxA6IVJEB/+tOfXHOMAIV1V3P7OqGTnxdeeEFefvnlNqiMGTPGWfNWrFghb37zm92yc4QV8D0bJVk7SHB7+9vfnrDKTBiHHHKIs9jdddddztqDazdbBMsL7uDXve512VKltNZjy5YtbrCl34EDVicsnKmIv58oB6wccskll+g77fJTOTX0YwjFmTNnjpx44okudMAXgMUWS+lhhx3mFEq/P8pPj0s29fMo22vXTi8CPGPf+9735POf/7zceOONjgyktwbpLe22225zHpeTTz5Z/vOf/7gQNMLPgu/pYW763//+J69//esFwvid73yn25X87ne/K4sXLxas5nPnzm1FMpv1pZw///nPhTr5kDCO/+9//9vtchNdgDBDT6yeeeYZVzZjGt7BlGXxfJFH/uUWAZAhhSLnXCgbZ54o06YentIlIOUQURT2D33oQ3L++ed3irScccYZ8rWvfa2lrCVLlsh73vMed0/xZEYq5AXRzsuviXl87r49hoPiUdq/dThYpPV49eKQZnCkH0OCeO8XAoH/9a9/LYQ18j6dbud2vVoeH5kgQBgj8FaeffbZwv0Pyj333CNPPPGEXHXVVS3tD/6e7PuvfvUrOfLII+Wkk05Kdojb36Qvy/3Sl74kX/7ylzv3nLR71Z79Y+gmCAZElEMGreD20ksvyfPPP++sKkDKy6qwsGSrJGsHk04y4QEnVAO5++67BaKHMIjecMMN7nsm/3iLVrrqQJwtDztu7kwLigQhHY888oh7Fwj3Bgsd8e0Mwh2Jv59YQOnf6bQGx9eNiYI6+P7F72BMXD7PHMpDusTjkq7yrJyeiQChQV4ee+wxN2Zu3LjRWYNJuKdv33ffff6QSD7vv/9+Vy7jNc+XF+Yq9rHdeuutAhmISmbOnCkYFOrq6uSss85yRoxnn9VkdhXwQFkkP+oDH/iAm0/f+c53hlIVxsWLLrrIhZgNHTq0JcwPyzxzHgrYW9/6VvnsZz/rtuD9CqUCgYtAfHw5KMrjx493BGT3bvXmpCD99jXG3uGzXOdf3tlznC5ocNEVUj9iTApntz6kqqrKkVFwbm/ub31W2/9mzJjh+jL3EEFB9roC/+OV+MpXvsJX13buM2USLgdZmjdvnvutU39Yqlvb7doPDopH2cuLpPCV8Dw6qdSHttBfIMye+HAeIY/B5yyVa3XmGE+AuIdBAWvqFLaQL4YB8vbblWzGCcZKfouvS9xhbf7lpc3kvnUkeGS5frLcyY7Oz+XfIZxlZWVtNva3J6F7fiissLBQfvazn7UpF3aKBSVXJFk7Uqn/L37xC4cDxzKR8aD3NsFtjqKAsp5J2bNnjwslgRR84QtfcAMx9WGQIgwBS+cpp5ySySp2q2xyJbAAYxnFsjZwoL6gz8QQyCEETjvtNGF+CBILwlPI/0Ho03g8oxQMIYlCfSA/bF6OPvroVkqc3x/GJ3XASINyDAlBWcJi/uMf/9hFFRDOQz7Qb37zG+el6ZQ3pJ0KEtFAiF1QID6EG/7yl790Xrfgb+n8TggkiiUeGNrdUZsHsBQ078LR/BcpLxKZfXIs1G3hoi5XmxAtQrKImiAHbPLkye1eq7a21imtGNbwIkFoUVDxniHcV/Z7IR/FK7lEKGCsgwCyEASeT/oF5LzTQogf7Z//nBZaJwXbNsqwV/bL+jzNf0qDsJIf7Tr88MPbLGqBUQNvmH/mwvT8+KZ5AsT4EpSoQuAgeegbGCMnTpzoisRTy9gWFIg89xh8JkyYINSPZ5BnDi8n/S0+PJJrPP744zJp0iTX/1g0gkgPCE/w5Z2Uw/VZtAS9k/GKfDP0MM7HY0xILc8UHknvpSJiizLwtlM2euuiRYtceR15noJtS/f3t73tba7IYN4gIY9+f7L69Ev2QxT7sS7hUeFhjhdCxvCccCOJ0/zoRz/qQI8/Llv+p56EApCwy6BGHKuPh6aOuCAvv/xy116OYRBkcsHikA0rB91xxx3uAWPgwYNAZz/zzDOdtWnz5s3yox/9yA3QPJBY3piQIYPEZxO/jJWBwYvQMdqFYvKRj3xE3vve9zrXL2FlPJwICbOnn366w8PtSPMf+hXCpBW0WGLJZPChjUiytrkfs/QPIXwQHiYOEpR9KB5KJJZqvK30SwZicia4h4RjHHfccc6ayABITgX3kEEQqzteLRQM+vCIESNyEpcsvV1WrSQIEPNPKGkmhXE5XklJVB//jCX6rbv7SP5n4kYZZt6gLJ7Pyy67zIWN4wEgPA1FPF456m7ZwfMZFxgvUL4JN8RLAQlJt7DU9S233CLDhg1zSiVhPR1Z7fNrq0X27IpVdcRwzX+ZoNnN+j6fEATPOiGY1Cl+RbHg5VFs2YJC/0ZxTUUIafbKG3MqY3GXhHbTfnBQ8tO/tkYGv3JA1nfpYp0/adu2be4kHy4ZvAJz0aWX6uITEQsE6F//0hDIOCHEFO8aXoOwhDEEMkOYG/oGQtl4dL2nD+LL80sIPbig+0KW3ve+97lnjVX2MHAEU0IgyjyP6J0//OEPXWoJ8zjzNNchAsML16K/0D8xoEC83/KWtzj9689//rOb3/Hy4hmBIGEURsdDn8XrCnFiwRf0O547PO4Qct8ffTnZ9Onr5nO9/P/t1TES8sMEEu/6A3xYaKI1/XEn//Wvf3WTHwz1b3/7m1PkmASinGjaA4bfErWDToL1B88WS0YSI00HIxwiaJnE8oMSefHFF8sf//hH950HLcoJq6P2BH/HOsHkSjgDgznuZx5CLI5MLlgJcMNzv/j/73//u1x55ZUu/ISHgnN4IP7yl78IigtEggeTe8aypOTS8MDysHHN44/X0IMMybp169xDHD9ZcS8IH0Egp4TWJGob9y0bBeJDv4PAUvfgs8J9wOJE+7CaQ4QgR4RfQvJww5N0yn1DuHf0AQZgBnCO595+5jOfyTlcsvFeWZ3aR4BnlMk36PnxZ9BP6YdRCwqtN9gQbkJYLHLOOee4je8obB1Z/TmuO4LxCQstVlmS7SkfJRIjFcoz8xIKnbcsd6esZOdi8WWe8+MDxMfn4SQ7J4r9KInggIBDl0lACJXDWs4KgBDRjgyY1BWDIcL9gkCibLKIgl9CvL0qoWd46eyCC/68bPikj2JwTJQHnq76oX8Qbof31AukGiNumMTHX/vcc891HkrmZfQoxpKvfvWrLeSHSA1y4HECgA1zMrqYF/RGPFPoKxg7SB/41Kc+5eZ3xkj6A3l+9COM1Agr5fkwL/oapAUdFcMu0S2MbTzD6GaE0UJ+qBf9mP8xnhLSjwEUwzj1Qm/19cOImgqh8G3IxKevn//sqA6h5/xQIBMY7rjgxgCQTMhFoTPgnuOG4wrFWh1VQmWyesTvT9QOrG4oygzIb3rTm5y7EgJB504ksGqs5xAE3I3ZQn6oKx2fJWQZGFB6ESx+DAwQF7w7kFEsDHhuGMAgQ6zGhLWB37BoMFF7IUaZpSshP3iFEB644GDuj03XJ+7bjiaQVNqWrvqmWg5WG7yk9Md4ayiDJtZDBkiOYcUolCosygj9kcGXicELBgrOQemhT6AI5iIuvj32mTsIYGmkT2K5i9+woKcjdBZSw7jFFsxNYDEPv5+V6aIU5kyUaxQSVguj7SRKQ3oYx6gLHnaSq+M9C2HWC8UNq7RvNwsuZGLuwgru68BnKnVoKi59bRnr7Rp9sEn9HM1dD5nEIMachzUfQ1hHxIf7wDkQZTYUbB+Sg8HUS5Doe9Ltf/PRCP7/Ln/SbtoPDir7i0tkd17fLl+usydikENHQJdACY8X9Dz6fFTC/PbNb37TKfG+DE98vH7i94f1ST9FmJ9ZNRDjI2F/Xij31FNPles0lBGD8osvvuh/cp8QkKChlgUjMFhCJL0egzEkGOpGfqAX5nnC1Hwf8r9ButDjMJxAsNDl8C5hJGU84doVFRXuMnivID4I40DQsO92ZumfVIkP1Y/E88MDnyjnJxleuNm4Gbi0g4JnIZOSrB14TZCgCxsykGu5FtTZTya0FWEwItaeVUaw/GMx8EuuYhlAfvrTn7pP/8c/ZPwfXJXI/57pTzxzDAiJBOsGE6yPI2+vbYnOz+Q+Qi15ZvDK4bVDGSJ2mP4JIeL/eAXJT7JB5c63wS/Nyv8MhFzD45ZLuPj22GduIQBJJzE8XlAke4tgnUZRJqKA5w+LK4qTJwCEpUKGsOKiUBIxEYZnmrkLa7AXrM2EQeei7Bs8VKTiEHXTqXqzq15k3lzNe2l/taxk7QQDvE/BsTHZse3tZw5FmfTGJ+ZbrPUYTrHAM04HFeT2rtWp31apR4H2g4Pi0ThynOxYlHgu7NR1O3Ew4Vp4vPBWMP9giIMQ4skkNxpDHcdA+sMUT3y8jsO1oyY+lMF9JqyccDGinSA6QeGZhQiyGBT3nJA1/44zjkNfCQrzPISIfDfIC2SSMZHoIi8YRrxAznl+vfjv9Dnfxwj5Y7yFJFFPoq8wXHuJJ/iMRT1NIiE/nQUJJZwbHAxt4IEIkovOXjPK4xnIkCA5w7OVDutklO3y1yZBEesi8ecMzDx0JL36dzEwYEEYEDxFPq6X/7HeZpswweDBwLVMMqEXBiYWO8AygncOaa9t/rxs+fSW0He84x0uRvfmm2927fNtwYPql1XFuIB1naXYEU92g20Jkli/318rl3DxdbdPQ6CrCBAGgtUa63wqYUpdLSf+PBQSDA5YjAlDZWzlpZteUH5QWPBCYIxK9Bz7YzvziQJG6KsX8nODCpnfH/Ynniy/AlpY124eUKBWOLW+P/WYyAtLRZ57VuSuW2WQLnWtP6RUDAomORtELYQlGNggrlinuTa5mtxP7iH3FCMwgrIeVNi7XP7GNa7drv0HVXmdNlX2HHqkNDw8r8uX7MqJeFS/8Y1vuPAuIhTYUK6954twSnAIUzJFfHwbiKLwYY/B55ff16xZ48LSIDSQYXTd9sLvICwYNXlVCcYRwtrQaXhGiT5izPAhulyfvsv4AXFn/iZUDtKHPg0xIxqJcyFleHiY91nQBU9Ub5KsID88+FhBSCbkprKqCUlixGRmUng4UZrjhc5DR6KOKNNYhcixSMaOGchg6ZCl7lqQ4usSxf94QyAxPLw+bI+6k/yKQsADSAwqbWIA5+FMZLH1blPi+Znkgq7cKOqd7Jq4drlXLLxAeB+DLYoD3knuDb9DwJO1LROx7snakmg/gxc5WIQbYl3DS4Mxgdhd+imTLp48FClCLzsj7d3zbMelM+20YzODAPk8/jUI1CCYuBusEZ4OwqLTJShshK2kW3ipK/H+jMGEtbDiV/wqWFh9fS5OWPVj7GPzgucXgx4GoiiFZOygQPgIw+l2uUcoyTnjfFEmGXvHzQN3yzgW4Jk8qd2XnGIcwvPWHWU8UXgXbcQ774VcYFa+hfDE318iLoKCfoQHMGU5eEAEj8+dt+jLTTURnpe8jlBjpeJxcNZsVbTntKyw1t41w9RV/LLteD1IGcADhO7EM81CEF5XaK8+qf4G8SBfOUggmd/RJ6MKdaNuQeMh/QgDMToP+TdeOIZ8MHQR/75IojDAJFmah78uY8E111zj5nL6KEYDb5D2ZXAseb7M9ehoCF5d9AOPMX0bQ7DHgrpCyIKGYV8m5/M9iCX7eoKETn6CoKUKEMyYOESft8DNwjqC5yFTQjsY/BO9QI5kcG+58b97t3ai+hIKRlwnyyyzck9wkkl0fJT7fCf2n4nK4gFjoGDFPQQrDfv45AEkyc4/dORqEbfqJXhdLFrcQwY8rIh4kzIhPPQs2UqOCyTVCwMT7fEhbx21jfN8//af/lrp/PRlB7HGVU4yLu2jfxKqQSIlCyEgDMTgn+hcX3f/m/+fz1TuefB4+24IdAYBFKwuLeHbmUJy6FgUIVZzyrSgEPHySbzHicSHzyT6rTv7Qiu3ZLDIWReIVG4VuXeOhijskUFzH1W3inpAzr1U5Gj1DJW11S980nh32pDquZDYeOKT6rnJjsuvU7L6+AMi992hnq+5Ijs1/Mm95FWxUDwqJkx2Vv9k50e5n7b6FdCiLCf4cllfTnDlNL8v7E/IbPBVLnhoghLsWyxUBPGFtDDv8h3vT/wrNzBaemEOZzEwL4wT5GaTnxdvWMYoTSQSER9ev/HnUUawHBZCCgp6UFAYA5KNA8Hjcu17nnordDSICWwxHij/Wzo+yTehE+DGyxWhc5EM5sPAcqXeHdWTboFLlk/uR7xiTLIcrtRcy3OC0BIrT5uSuZpztW2J7imhLAyCYfTPqHDhmccDYNLzECCcIp15gMnKS7Y/CsSTlZVsfxR1CF6zV5e7com+0O0mdbvcI7KtWpM++opMVe/PKZogfsLpIofN1FjtWBh7ELOc+w7pWbZQaubcJiUrF4us0JC3feoBGqken3OU+FyqBsopbfPputvOdPetdJcHPonKZB8hkRDYeN2ou5ja+e0jwCq3SGcMB6w6jOBN9/NR6J4fV0IX/2ChzyXiQzPDirnuImSRncYD3d69CEOZjqzy7VwYr1tHS9XmatsSNRtyGhZB7Um4JMLK9hkChkAPQwCF/4pr9GWnw0Xm3KphcNtFFqvytH6DyPMa1niseoBmHR8jQeWa96lh0DkjavGXKm2Pkh5ZoHlN2p6SxS+J1O/X5ebytE0T1ct1icjZF4uox8fEEDAEXkMgq8jPa9Wyb4aAIWAIGAKGgCFgCHQTART/y66SLQf6yOjV6hWZp6Rnu3pKnnlRNOFMl219WGSGLmE+TRc3gCxNmirCinF91EuUbUI+z259XcGaFSJ4tZZre5Ys0P/XitQp6VGjpfP2zFZSd6Z6fI4/WduSO5E02Qa31Sc7EVi1apVbEKY7tTPy0x307FxDwBAwBAyBpAiQl0bYJSGyUQvlBPPgguWlqx7ZUIdgu3vb96T4KwGonH2KjDrtTMmbOVuJz+Mii5T87KjVTyUSS9QbNFRzZSYpUYL8sFT2OA2PGzNBX3QyVqSkLDNkCLJTs0dzljap12q9CCu4rVsdIz9rVmlOT52+n0IzF/oo6RlRIgfHT5Q+Z18YC+mr0Lb069/bukCo7U3WnxhPSHcgJ9YkvQhAfHzoW2dKJv88OD9kVc5PZxpixxoChkDPQMByfnrGfUzUCl7Ox2I2JOVGLUxsLN2aaKGcdNUjG+oQNc7ZfP1U8M/b2yhFW9ZL2cuLpGTVUslfq8Rnxy7NkXm1j+I9GaRKbflQOajhcvuG6jZkmOwrGypNpUOkSYlQU1Gp7NdcoeaB+j60EDxEeUpy+mm9+mvuTn5dteQr4cmv3iUD9uyUAbt2yICdldKnSlerq1KvT32zaDJu7DYM0DC9YVqniVOkZvJ0t5R13egJciA/emNDNveDsOqWrD+lazwJqx12HSJaW88PRn6sVxgChkBGETDyk1H4rXBDoHcisL9JX9a3UWSpho2RN7NS3wmEN2WrkoxGJRhelAvJQCVDQ3RhhPJhsZC4ssG6hKZuxaVKlIo0+Ve3gkJdUGFgbMPjojnMLnQOMgVZwYujizpJs4an7dN3KrE16jLUDeq9qdettlqkerfIHt0IbavaoctUa3jeXsiOr4x+FmhdRmkOE16qKdNj+UrTZ4mMHqe5PvmBA+2rIWAIJEPAyE8yZGy/IWAIpAUBIz9pgdkKMQQMgWQI1Gn4GyFla/S9fms1DG7DWg0z00URtup7gqqUjOxV0hIkIP46fZXYsIJcoZKeAoiPelx4X1JH5EdXHdV4UCU/SoAaIEIQowQFOOKl1y9XojVqjMjY8bFwPPX0yCHT9PtEJV/Fvjb2aQgYAikioCYEE0PAEDAEDAFDwBAwBHopAkVKIFj2mq1JycgOXUVt0zr1DCkB2r4l9r4g9u2qinlmqjUPp0a9NpCWBvXM4L0Rti4KOTt4dErUe1Rapu8gUrIzpFxD2nQFuuGjNJ9ntHp2lPiMrdB9I5VgWVhbF5G20wwBh4CRH+sIhoAhYAgYAoaAIWAIgEC+enBY6IANIVSNkLSqbbrAgIaiaR6O7NEcIRYiwGNUr1tDvXqHGpU4qTcHjw6hbeS5cS4hb4S+uTA4zdHBK+Q8REpgNGdICgfFvDcQMBZW4OWrml8kQzXErlyJDqF1nGtiCBgCoSHQivzwbhcSU0kMMjEEDAFDIGoEGG/sJXFRo2zXNwQMgS4jAPFwhERJyeS4qzSr16dRiQ+eH8gPeTwQIF0JLJbjowToFd3yVKfqqxuLI+iLMZ3nhvwgR37IF1ICZCuHxYFr/xoC0SHQKuenoaFBamtr1VCRIPY0ujrYlQ0BQ6CXIgDxKS4u7rEvC+6lt9WabQgYAoaAIWAIZC0CrchP1tbSKmYIGAKGgCFgCBgChoAhYAgYAoZANxGw+LZuAminGwKGgCFgCBgChoAhYAgYAoZAbiBg5Cc37pPV0hAwBAwBQ8AQMAQMAUPAEDAEuolAqwUPNm/e7PJ9fM4Pn8Hvviy/z/9vn4aAIWAIGAKGgCFgCBgChoAhYAikC4EmfWdWaWlpm4Xa/EJKwc/g9/8DmN/Hws8kdakAAAAASUVORK5CYII=\"/>" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "20 * 30" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As you can see, the cell is \"executed\" (more commonly called evaluated), and we move on to the next cell.\n", + "\n", + "Alternatively, you can simply type on the keyboard ***Shift+Enter***, or according to the keyboards ***Maj-Entrée***, to get the same effect. In general, it is important to learn and use the keyboard shortcuts, this will save you a lot of time later." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The usual way to *execute* the entire notebook is to :\n", + "\n", + "* to select the first cell,\n", + "* and press ***Shift+Enter*** until the notebook is finished." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "When a code cell has been evaluated, Jupyter adds under the cell `In` a cell `Out` which gives the result of the Python code, above 600.\n", + "\n", + "Jupyter also adds a number between the square brackets to display, for example above, `In [1]:`. This number allows you to retrieve the order in which the cells were evaluated.." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You can of course modify these code cells for testing purposes, so you can use the model below to calculate the square root of 3, or try the function on a negative number and see how the error is reported." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# math.sqrt (pour square root) calcule la racine carrée\n", + "import math\n", + "math.sqrt(2)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "It is also possible to evaluate the whole notebook at once by using the menu *Cell -> Run All*." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Be careful to evaluate the cells in the right order" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "It is important that the code cells are evaluated in the correct order. If you do not respect the order in which the code cells are presented, the result may be unexpected.\n", + "\n", + "In fact, evaluating a programme in the form of a notebook is like cutting it up into small fragments, and if these fragments are executed in a disorderly manner, the result is naturally a different programme." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This can be seen in this example:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "message = \"Be careful about the order in which you evaluate the notebooks.\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(message)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "If a little further on in the notebook we do for example :" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# this has the effect of deleting the variable 'message'.\n", + "del message" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "which makes the symbol `message` indefinite, then of course we can no longer evaluate the cell which makes `print` since the variable `message` is no longer known to the interpreter." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Reset the interpreter" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "If you make too many changes, or loose track of what you have evaluated, it may be useful to restart your interpreter:\n", + "* The *Kernel → Restart* menu allows you to do this, a bit like IDLE which starts from a blank interpreter when you use the F5 function.\n", + "* The *Kernel → Interrupt* menu can be used if your fragment takes too long to run (e.g. you have written a loop whose logic is broken and does not finish).\n", + "* The *Kernel → shutdown* menu can be used to close a running notebook if you need to free memory for exemple." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### You are working on a copy" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "One of the main advantage of notebooks is that you can modify the code we have written, and see for yourself how the modified code behaves.\n", + "\n", + "For this reason, each student has his/her **own copy** of each notebook, you can of course make any changes you wish to your notebooks without affecting other students." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Back to the course version" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You can always return to the \"course\" version through the menu\n", + "*File → Reset to original*." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Be careful, with this function you restore **the whole notebook** and therefore **you loose your modifications on it**." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Download in the format Python, html, pdf..." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You can download a notebook in Python, pdf, html... format to your computer through the menu\n", + "*File → Download as → Python*" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "For the Python download, text cells are preserved in the result as Python comments." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Adding cells" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You can add a cell anywhere in the document with the **+** button on the button bar (or with the menu *Insert → Insert Cell Above* or *Insert → Insert Cell Below* ). \n", + "Also, when you reach the end of the document, a new cell is created each time you evaluate the last cell; this way you have a draft for your own tests. \n", + "When you create a new cell, you have to select its type between Markdown, Python." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Markdown cells\n", + "Markdown is lightweight markup languages. Github proposes a short and efficient introduction: <a href=\"https://guides.github.com/features/mastering-markdown/\">Mastering Markdown</a>." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## References about Jupyter notebook\n", + "\n", + "There are many documentations and tutorials on the use of Jupyter notebooks, here are a few of them:\n", + "* This [web page on dataquest blog](https://www.dataquest.io/blog/jupyter-notebook-tips-tricks-shortcuts/) contains a number of tips on how to use Jupyter (including illustrations of the many IPython magic commands) that can improve your efficiency.\n", + "* This [Youtube playlist](https://www.youtube.com/playlist?list=PLRJx8WOUx5XcDMOxSQegCJUjTJePTlF9Z) contains many tutorials on the use of notebooks" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Installing Jupyter on your computer\n", + "\n", + "A COMPLETER" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now it's up to you." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "jupytext": { + "cell_metadata_filter": "all", + "notebook_metadata_filter": "all,-language_info,-toc,-jupytext.text_representation.jupytext_version,-jupytext.text_representation.format_version", + "text_representation": { + "extension": ".md", + "format_name": "myst" + } + }, + "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.7.4" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +}