Jupyter notebooks are documents that contain both executable computer code (in a language like Python or R) and rich explanatory elements (i.e. text, images, videos, links). Jupyter notebooks are very popular for teaching and learning to code because they have significant advantages.
Traditional code editors may require students to become familiar with terminals, environments, libraries, etc. Every learner must set up the environment on their own machine and differences between machines can make it difficult for them to get similar results. With a Jupyter notebook, users can run code under nearly-identical conditions with a simple web browser.
Rich Support Content
Traditional code supports plain text comments, but has no support for explanatory stylized text, images, or video content. Jupyter notebooks allow instructors to put explanatory materials right next to the executable code.
So what is a notebook? How is it stored on a computer?
Essentially, a Jupyter notebook is a file (.ipynb) that can be easily saved, uploaded, downloaded, and converted. (For example, a notebook file (.ipynb) can be converted into a python file (.py), HTML file (.html), or PDF file (.pdf).) Users edit Jupyter notebook files (.ipynb) with specialized software. Our default environment uses the latest software, called JupyterLab, but it also supports the traditional software, called The Jupyter Notebook.
One of the most significant advantages of using our environment is setup time for teaching, learning, and doing research. If you need to share a similar environment for a research project with five people (or teach a classroom of twenty), it can take hours to get identical environments (particularly if you're operating across both Windows and Mac). Our environment helps you get to writing code, learning, and discovering quickly without getting hung up on software installations, dependencies, path issues, and other problems.
If you would like to know more about the benefits of Jupyter in the classroom, we recommend reading Teaching and Learning with Jupyter.
If you're ready to dive in, try: