This guide is designed to help students new to Jupyter notebooks get started.
The Jupyter Notebook is an open-source web application that allows you to create and share documents that contain live code, equations, visualizations and narrative text. Uses include: data cleaning and transformation, numerical simulation, statistical modeling, data visualization, machine learning, and much more. From: https://jupyter.org/
Jupyter works best as a communication tool. Notebooks will be used throughout this class as a way for instructors to communicate with students and for students to communicate with instructors. We will use Jupyter notebooks extensively for pre-class assignments, in-class assignments, homework and Exams.
The first thing you will need to do is to get Jupyter running. There are two basic methods we will be using Jupyter in class. The first is to install it on your computer using Anaconda Python distribution and the second is to use the Web based JupyterHub server put together for the class. The following instructions can help you get started. We recommend learning how to use both methods for class in case there is a problem on one of the systems.
(These instructions are also available via YouTube video: https://youtu.be/3BiLPXAGINA)
Open the command line program on your computer
jupyter notebook in the command line and hit enter
If everything goes correctly, a browser window should open up with the Jupyter interface running. If things do not work, do not worry; we will help you get started.
(These instructions are also available via a YouTube video)
Every student enrolled in this class will be given an engineering computing account. If this is your first time using your Engineering account you will need to activate the account by going to the following website:
Enter your MSU NetID. The initial password will be your APID with an @ on the end (example: A12345678@) and then they have to set a password that meets the requirements listed on the page. Verify the password. Then agree to the terms and Activate.
If everything is working properly you will see the main “Files” windows in the Jupyter interface.
Once you have Jupyter running you will need a notebook file to try out. Jupyter notebooks (also referred to as iPython notebooks) are files that end with the .ipynb extension. We will give you these files for all of your assignments, you will edit them and turn in the edited files in using the course website.
You can download the ipynb assignment files from the course website (http://d2l.msu.edu). Once you have an ipynb file you can load it into Jupyter using the “upload” button on the main “Files” tab in the Jupyter web interface. Hitting this button will cause a file browser window to open. Just navigate to your ipynb file, select it and hit the open button.
Once you see your filename in the jupyter window you can just click on that name to start using that file.
✅ DO THIS: This tutorial was originally written as a Jupyter notebook and saved to a pdf. If you are reading this in a pdf, go to the course webpage and download the file titled "00-Getting-Started-Guide.ipynb" and run it in Jupyter before continuing on to the next section.
One of the most unique and defining features of Jupyter notebooks is the ability to run code inside of this notebook. This ability makes Jupyter Notebooks especially useful in classes that teach or use programming concepts.
Jupyter notebooks are separated into different types of "cells". The two major types of cells are; Markdown cells and code cells. Markdown cells (such as this one) consist of formated text, images and equations much like your favorite word processor.
The following are two code cells written in the Python programming language. This simple code is a tool to make it easy to search your jupyter notebooks which can be handy if you are looking for something from a previous class. The example searches for an exact string in your notebook files in the current directory and displays links to the files as output.
To run the code, first select the code cell with your mouse and then hold down the "Shift" key while hitting the "enter" key. You will have to hit the enter key twice to run both cells.
#Search string search_string = "Guild" #Search current directory directory ='.'
import os import os.path from IPython.core.display import display, HTML search_string = search_string.lower() links= files = os.listdir(directory) files.sort() for fn in files: if 'ipynb' in fn: if os.path.isfile(fn): found = False with open(fn,'r') as fp: for line in fp: line = line.lower() if search_string in line: links.append("<a href="+fn+" target=\"_blank\" >"+fn+"</a></br>") break if links: display(HTML(' '.join(links))) else: print('string ('+search_string+') not found.')
Much of this course will be taught in a "flipped" style. This means we give you notebooks to review outside of class and we use in-class time to work on meaningful problems. Many of our pre-class assignments notebooks use videos to help communicate ideas (in lieu of lecture time in class).
The following two cells will embed the lectures in the notebooks. Run the cells using the "Shift-Enter" key combination described above. Once the video appears just click on the "Play" triangle.
These videos explain Python and Jupyter in more detail.
# The command below this comment actually displays a specific YouTube video, # with a given width and height. You can watch the video in full-screen (much higher # resolution) mode by clicking the little box in the bottom-right corner of the video. from IPython.display import YouTubeVideo YouTubeVideo("L03BzGmLUUE",width=640,height=360, cc_load_policy=True)
#Python code to display embeded video in jupyter notebook from IPython.display import YouTubeVideo YouTubeVideo("5WSQnGmz3IA",width=640,height=360, cc_load_policy=True)
The following video will introduce you to install Anaconda Python on your personal computer. For this class, make sure you install the latest version (the version in the video is probably old). Also the websites may have been updated. Hopefully that will not be confusing.
#Python code to display embeded video in jupyter notebook from IPython.display import YouTubeVideo YouTubeVideo("3BiLPXAGINA",width=640,height=360, cc_load_policy=True)
The following video will introduce you to the Engineering JupyterHub Interface. Please watch this video and answer the questions. Log onto the engineering JupyterHub account using the following link:
#Python code to display embeded video in jupyter notebook from IPython.display import YouTubeVideo YouTubeVideo("l7mhi4ww6tY",width=640,height=360, cc_load_policy=True)
There are lots of resources on the web for using Python and Jupyter notebooks. The following are some recommended websites for getting more information. If these sites do not work consider using your favorite search engine.