diff --git a/HowTos/StartWithJupyter/JupyterNotebookTutorial.ipynb b/HowTos/StartWithJupyter/JupyterNotebookTutorial.ipynb index 8b1855e..7492d16 100644 --- a/HowTos/StartWithJupyter/JupyterNotebookTutorial.ipynb +++ b/HowTos/StartWithJupyter/JupyterNotebookTutorial.ipynb @@ -1,197 +1,163 @@ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "**Adapted with permission** by Prof. Simone Deparis for MATH-251(c), adapted from the [Jupyter tutorial](https://github.com/aparrish/rwet/blob/master/jupyter-notebook-tutorial.ipynb) by [Allison Parrish](https://www.decontextualize.com/) and the version of Prof. Felix Naef for BIO-341." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Jupyter Notebook Tutorial\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A Jupyter Notebook gives you a convenient way to experiment with code (Python, R, Octave or C), interspersing your experiments with notes and documentation. You can do all of this without having to muck about on the command line, and the resulting file can be easily published and shared with other people.\n", "\n", "A Jupyter Notebook consists of a **number of \"cells\"**, stacked on the page from top to bottom. Cells can have text or code in them. You can create a new cell by clicking on the `+` icon in the toolbar above. \n", "\n", "New cells will by default be `Code` cells.\n", "You can change a cell's type using the drop-down menu in the toolbar. Select either `Code` for code (Python, R, etc. depending on which programming language you have selected when creating the notebook) or `Markdown` for text. \n", "\n", "## Text cells\n", "\n", "Make a new cell, change its type to `Markdown`, type some stuff and press `Ctrl-Enter`. Jupyter Notebook will \"render\" the text and display it on the page in rendered format. You can hit `Enter` or click in the cell to edit its contents again. \n", "\n", "You can also press `Alt-Enter` to render the current cell and create a new cell. \n", "\n", "Text in `Markdown` cells is rendered according to a set of **conventions called `Markdown`**. `Markdown` is a simple language for marking up text with basic text formatting information (such as bold, italics, hyperlinks, tables, etc.). Here is [a tutorial](http://markdowntutorial.com/) for learning `Markdown` quickly, a [cheat sheet](https://medium.com/ibm-data-science-experience/markdown-for-jupyter-notebooks-cheatsheet-386c05aeebed) about the Markdown syntax and you can also find the [full reference](https://daringfireball.net/projects/markdown/syntax) of the Mardown syntax on John Gruber's website.\n", "\n", "\n", "## Code cells\n", "\n", "Code cells make it possible to **embed a program** or pieces of program into a notebook, to execute them and **see the results** of its execution right away directly in the notebook.\n", "\n", - "To execute a code cell, simply click in the cell then click on the \"play\" button () in the tool bar just above the notebook, or type shift + enter.
\n" + "To execute a code cell, simply click in the cell then click on the \"play\" button in the tool bar just above the notebook, or type shift + enter.
\n" ] }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "This is a code cell.\n", - "\n", - "Any Python code you type in this cell will be run when you press the 'Run' button,\n", - "or when you press Ctrl-Enter.\n", - "\n", - "If the code evaluates to something, or if it produces output, that output will be\n", - "shown beneath the cell after you run it.\n" - ] - } - ], + "outputs": [], "source": [ "print(\"This is a code cell.\")\n", "print(\"\")\n", "print(\"Any Python code you type in this cell will be run when you press the 'Run' button,\")\n", "print(\"or when you press Ctrl-Enter.\")\n", "print(\"\")\n", "print(\"If the code evaluates to something, or if it produces output, that output will be\")\n", "print(\"shown beneath the cell after you run it.\")" ] }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "If your Python code generates an error, the error will be displayed in addition\n", - "to any output already produced.\n" - ] - }, - { - "ename": "ZeroDivisionError", - "evalue": "division by zero", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mZeroDivisionError\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"to any output already produced.\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 4\u001b[0;31m \u001b[0;36m1\u001b[0m \u001b[0;34m/\u001b[0m \u001b[0;36m0\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", - "\u001b[0;31mZeroDivisionError\u001b[0m: division by zero" - ] - } - ], + "outputs": [], "source": [ "print(\"If your Python code generates an error, the error will be displayed in addition\")\n", "print(\"to any output already produced.\")\n", "\n", "1 / 0" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Any variables you define or modules you import in one code cell will be available in subsequent code cells. Start with this:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "import random\n", "stuff = [\"cheddar\", \"daguerrotype\", \"elephant\", \"flea market\"]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "... and in subsequent cells you can do this:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "print(random.choice(stuff))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You might have noticed that a *number between square brackets* has appeared at the left of the code cell after its execution. \n", "This number indicates the **order in which the code cell has been executed**, with respect to the other code cells or to previous executions of the same code cell.\n", "\n", "The order in which different pieces of code are executed affects the execution results, which is why these numbers are important information to consider." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Keyboard shortcuts\n", "\n", "As mentioned above, `Ctrl-Enter` runs the current cell; `Alt-Enter` runs the current cell and then creates a new cell. `Enter` will start editing whichever cell is currently selected. To quit editing a cell, hit `Esc`. \n", "\n", "If the cursor isn't currently active in any cell (i.e., after you've hit `Esc`), a number of other keyboard shortcuts are available to you:\n", "\n", "* `m` converts the selected cell to a Markdown cell\n", "* `b` inserts a new cell below the selected one\n", "* `x` \"cuts\" the selected cell; `v` pastes a previously cut cell below the selected cell\n", "* `h` brings up a help screen with many more shortcuts.\n", "\n", "## Saving your work\n", "\n", "Hit `Ctrl-S` at any time to save your notebook. Jupyter Notebook also automatically saves occasionally. \n", "\n", "Make sure to give your notebook a descriptive name by right-clicking on the file in the left pane and choosing `Rename` in the menu. \n", "\n", "Notebooks you save will be available on your server whenever you log in again, from wherever you log into the server.\n", "\n", "You can \"download\" your notebook on your computer by right-clicking on the file in the left pane and choosing `Download` in the menu. You can also export your notebook in various formats via `File > Export as`. You can then export your notebook as a static PDF file, as a static HTML file (for, e.g., uploading to a web site), etc." ] } ], "metadata": { "anaconda-cloud": {}, "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 }