The Jupyter Notebook is an interactive computing environment that enables users to author notebook documents that include code, interactive widgets, plots, narrative text, equations, images and even video! The Jupyter name comes from 3 programming languages: Julia, Python, and R. It is a popular tool for literate programming. Donald Knuth first defined literate programming as a script, notebook, or computational document that contains an explanation of the program logic in a natural language (e.g. English or Mandarin), interspersed with snippets of macros and source code, which can be compiled and rerun. You can think of it as an executable paper!
The Jupyter Notebook combines three components (from the docs):
The notebook web application: An interactive web application for writing and running code interactively and authoring notebook documents.
Kernels: Separate processes started by the notebook web application that runs users’ code in a given language (e.g. python, R, Julia, Go, and more -- get the full list of kernels from the wiki) and returns output back to the notebook web application. The kernel also handles things like computations for interactive widgets, tab completion and introspection.
Notebook documents: Self-contained documents that contain a representation of all content visible in the notebook web application, including inputs and outputs of the computations, narrative text, equations, images, and rich media representations of objects. Each notebook document has its own kernel. You can export your notebook as many other formats, even LaTex and PDF!
The main components of the interface, from top to bottom:
Jupyter notebooks can be comprised mainly of two types of cells (though more can be added with plugins).
Some key jupyter notebook shortcuts to keep in mind while you work:
shift + enter to run an active cell
Use esc in highlighted cell to toggle command options:
esc + L shows line numbers
esc + M formats cell as Markdown cell
esc + a inserts a cell above current cell
esc + b inserts a cell below current cell
Check all current variables: run
%whos from a code cell
You can install Jupyter notebooks and some key kernels on your computer in a few ways:
Our recommended method is to download using Anaconda (make sure you select version 3.*), which gives you Jupyter, python 3, and a lot of key python libraries for research: https://www.anaconda.com/download/. After you've finished downloading + installing with Anaconda, you should see an application "Jupyter notebooks" in your list of applications.
If you're comfortable with the terminal you can also install Jupyter Notebooks with pip:
python3 -m pip install --upgrade pip python3 -m pip install jupyter jupyter notebooks # launches the notebook interface