Swarthmore has a new installation of JupyterHub, a web-based, multi-user, online notebook for programming in variety of different languages including Python. A Jupyter notebook is a handy way to create documents that mix code, graphs, images, explanatory text, and equations. The notebooks are used widely in higher education and research for both learning to code as well as performing data visualization and analysis.
JupyterHub makes it easy to code wherever you are and whatever device you are using. Because the notebooks are web-based, you can code on a public area computer with a large monitor and then switch to a Chromebook in your dorm room without having to sync your data or install any special software.
Notebooks are a handy way to teach coding because it is easy to mix instructions and questions with coding blocks. Everything is web-based, so students don’t need to install special software and you don’t need to worry about different versions of the software or libraries on different computers. We’ve installed nbgrader on the JupyterHub server to make it easy to assign, collect, and grade Jupyter notebooks for your classes. For Spring 2019, we have several classes using JupyterHub for assignments.
Many researchers prefer Jupyter notebooks for data analysis because of the ability to include explanations and LaTeX expressions with the code and graphical output allows colleagues and student researchers to better understand the analysis process. The notebooks are easily shareable, so it is simple to allow others to view your work.
We currently have JupyterHub set up with Python. In the future we are looking to add additional languages such as R (there is a long list of available choices). If there is interest, we may also investigate connecting to Swarthmore’s supercomputing allocation through XSEDE. If you have questions or ideas you’d like us to explore, get in touch with the Academic Technologists on campus at email@example.com.
A big thanks to Anthony Weed, our Academic Web Developer, for setting up and supporting the JupyterHub installation.