UW-IT JupyterHub for Teaching

Last updated: March 5, 2024
Audience: InstructorsIT Staff / Technical

JupyterHub for Teaching gives users access to Jupyter Notebook environments (computational environments and resources) without the hassle of installation and maintenance tasks. Instructors can make individual workspaces available via JupyterHub to students using shared resources, which can be managed efficiently by system administrators.

Read more about JupyterHub at the UW:

Highlights of the UW winter and spring 2020
Jupyter Hub for Teaching pilot
Full report: UW winter 2020 JupyterHub for Teaching pilot
Profile of one UW professor’s experience with JupyterHub for Teaching Full report: UW spring 2021 JupyterHub for Teaching pilot

Sign up for JupyterHub for your course

Instructors can request to have a JupyterHub environment set up for one or more of their classes by filling out the registration form (accessible from the link below). Courses provisioned into the UW Canvas instance and containing matriculated UW students are eligible for the service. Please note: Registration requests may require two or more business days or more to be processed. Hubs will be provisioned and available one to three weeks before the start of the quarter for which they are requested.

 REGISTER HERE

Frequently Asked Questions

I’m new to JupyterHub/Jupyter Notebooks. Is there an easy way to learn more about how it can support teaching and learning?

I know a little bit about Jupyter Notebooks. Can I get a look at what people at the UW are doing with them?

Explore this showcase of sample Jupyter notebooks created at the UW.

I’d like to explore Jupyter Notebooks on my own. Is there a sandbox I can play with? 

Please contact us at help@uw.edu and we provide access to a demonstration environment.

I have experience using Python in my classes. What’s the difference between using Python and Jupyter Notebooks?

Jupyter Notebooks on the hosted JupyterHub system provides a browser based JupyterLab or R IDE, with a consistent environment for all users. As there are no local dependencies, complications arising from students using a variety of platforms are significantly reduced.

What will my Jupyter environment include?

Per-user resource allocation:
User Storage: 5 GB
Max Memory: 2GB or 4GB (chosen by instructor)
CPU: Default is 2 cores, with option of up to 4 cores

Instructors can choose from five standard notebook images for their JupyterHub deployment, or can use a compatible custom notebook from elsewhere:

  1. Datascience
  2. SciPy
  3. R
  4. RStudio 
  5. TensorFlow
  6. An instructor-supported custom image sourced from the Jupyter community that the instructor provides and maintains. Please note that those who choose this option are responsible for all support, testing, troubleshooting, bug fixing and updates; UW-IT will not provide support outside of general cloud platform support.

The SciPy, R, and TensorFlow images share the following features:

  • Ubuntu 22.04 LTS
  • Miniconda Python 3.x in /opt/conda
  • Unprivileged user jovyan with ownership over the /home/jovyan and /opt/conda paths
  • Pandoc and TeX Live for Notebook document conversion
  • Git, emacs, jed, nano, tzdata, and unzip
  • Ipywidgets for interactive visualizations in Python Notebooks
  • NBGitPuller for syncing a git repository to a user’s home directory
  • NBResUse to show memory usage and limits in the Notebook UI
  • The Github links for each image provide more detailed information

Can I add course data to student notebooks?

Yes! All our standard notebook environments include the nbgitpuller server extension, which allows one or more public git repositories of your choosing to be automatically added to the home directory of student environments. The contents of the remote repository will be updated each time a notebook starts up.

This can be requested at the time you register for a Hub, or after the fact by sending a request to help@uw.edu with “JupyterHub for Teaching” in the subject line. Please include the URL for your Git repository, the branch to use (if more than one is present), and the local folder name your students will see. Please also check out our best practices page for information about using nbgitpuller in your course.

How do I set up a custom notebook image for my JupyterHub environment?
Instructors can request to use their own custom image before a quarter starts during an open registration period. When choosing this option, instructors must build an image sourced from the Jupyter community, test it, publish it on DockerHub or another repository, and provide a location URL to the JupyterHub for Teaching support team. For compatibility reasons, we strongly recommend basing custom images off of the supported images here.

Instructors who originally registered to use a stock image can choose to convert it to a custom image at any time during the quarter by sending a request and image URL to help@uw.edu.

Note: Instructors who choose the Custom Image option are responsible for all support, testing, troubleshooting, bug fixing, and updates; UW-IT will not provide support outside of general cloud platform support.

Can I modify the stock R, SciPy, or TensorFlow images?
Send modification requests for the stock R, SciPy, or TensorFlow images to help@uw.edu. Changes, if approved and successfully tested, will only be applied to the stock images between quarters to ensure system continuity and stability for all users. Alternatively, instructors can use one of the stock images as a starting point to create a custom image that can be used at any time.

Will new stock images be added in addition to the R, SciPy and TensorFlow images?
We are happy to review requests for new stock images, please send them to help@uw.edu. New stock images, if approved and successfully tested, will be implemented between quarters.

How technical do students need to be to learn successfully with Jupyter Notebooks?

Experience with other coding platforms (e.g., MATLAB, ArcGIS) and languages can provide a useful foundation. If students do not have experience with Python, instructors should consider providing time and resources to getting students comfortable using it.

What support can I expect from UW-IT?

Each student in your course will receive access to a Jupyter Notebook server, created from your selected Jupyter image. Access to the Notebooks is restricted to the user UW NetIDs that are present in the course in Canvas. UW-IT will run the infrastructure at no cost to you.

Note: UW-IT is not expert in the pedagogy of using JupyterHub/Jupyter Notebooks. While we are providing JupyterHub, we strongly encourage users to review JupyterHub’s support documentation. UW-IT is also working with advanced users of Jupyter Notebooks to build a campus support network. As details about that support become available, they will be shared here.

For general questions about JupyterHub for Teaching, contact help@uw.edu. For faster service, please include “JupyterHub for Teaching” in the subject line.

What kind of support should I be prepared to set up on my own?

Experienced students, familiar with Jupyter Notebooks and JupyterHub and who are capable of managing back end development and technical problems, may be an important source of support for faculty. This type of support might be included in an existing teaching assistant’s job duties. With limited permissions to the cloud computing administrator interface, teaching assistants could troubleshoot common issues with students in real time.

Is the JupyterHub for Teaching service really free?

There are currently no costs associated with using the service for eligible users.

Are there best practices for using JupyterHub at the UW?

Yes! Review best practices here.

Is there a changelog available? 

Yes! View the changelog here.

How long is my instance of JupyterHub available?

JupyterHub for Teaching instances will be maintained for at least one quarter after their associated course has completed. Announcements will be sent to instructors approximately two weeks before the deletion date.

JupyterHub active course quarter Deleted on or after
Summer 2023 Dec 15, 2023
Fall 2023 Mar 15, 2024
Winter 2024 June 7, 2024
Spring 2024 Aug 16, 2024
Summer 2024 Dec 13, 2024