Introduction to Jupyter Notebooks on Sagehen HPC

Welcome!


This workshop teaches you how to use Jupyter Notebooks for interactive Python development on the Sagehen HPC cluster. Jupyter Notebooks combine executable code, text explanations, and visualizations in a single document, making them ideal for exploratory analysis, teaching, and scientific computing.

Why take this workshop?


Jupyter Notebooks are powerful tools for computational research, and when combined with the resources of an HPC cluster, they become even more valuable. After this workshop, you will be able to:

  • Understand what Jupyter Notebooks are and why they’re useful for research
  • Launch Jupyter on Sagehen using the OnDemand portal
  • Work with different cell types (code, markdown) and understand the notebook execution model
  • Write Python code that explores data and produces visualizations
  • Manage Python environments and install packages for your notebooks
  • Apply best practices for reproducible and shareable notebooks
  • Convert notebooks to different formats and automate analyses
Prerequisite

What you’ll need

  • Your Pomona College account with HPC access
  • A web browser (Chrome, Firefox, Safari, or Edge)
  • Access to the Sagehen HPC cluster (sagehen.hpc.pomona.edu)
  • Basic Python knowledge (variables, functions, simple data structures)
  • 30-40 minutes for the full workshop

If you’re new to Python, we recommend learning Python basics first. This workshop assumes you can write simple Python statements.

Workshop structure


This workshop is organized as follows:

Episode Time Topic
1 15 min + 5 ex What Are Jupyter Notebooks? — history, use cases, and why notebooks on HPC
2 15 min + 10 ex Launching Jupyter on Sagehen via the OnDemand portal with proper resource requests
3 15 min + 10 ex Notebook interface basics — JupyterLab layout, file browser, and the kernel model
4 20 min + 15 ex Working with cells — code vs. markdown, execution order, and editing shortcuts
5 20 min + 10 ex Python fundamentals in notebooks — imports, variables, control flow
6 25 min + 20 ex Data analysis in notebooks — loading, exploring, and summarising data
7 15 min + 10 ex Visualization in notebooks — matplotlib basics and inline figures
8 20 min + 15 ex Managing kernels and environments — conda envs and custom kernels for Jupyter
9 15 min + 10 ex Sharing and exporting — HTML, PDF, .py, and integrating with version control
10 15 min + 10 ex Best practices for reproducible, shareable notebooks

Total teaching time: ~5 hours (175 minutes teaching + 115 minutes exercises, plus breaks)

Key technologies


This workshop focuses on tools available on Sagehen:

  • JupyterLab - Interactive notebook environment (modern Jupyter interface)
  • Python 3 - Programming language (via conda)
  • conda - Environment and package management
  • Sagehen HPC cluster - Computing resources with module system
  • OnDemand portal - Web interface for cluster access (https://ondemand.hpc.pomona.edu/)

Learning outcomes


By the end of this workshop, you will be able to:

  • Explain what Jupyter Notebooks are and their advantages for computational research
  • Launch JupyterLab on Sagehen with appropriate resource requests
  • Create and execute notebook cells with proper output handling
  • Write Python code that loads, processes, and visualizes data
  • Create and switch between Python environments
  • Manage dependencies reproducibly using environment files
  • Export notebooks to HTML, PDF, or Python scripts
  • Apply version control best practices to notebook-based workflows
Callout

Getting help

If you encounter issues during the workshop: - Email: (most reliable) - Slack: #hpc-help channel (Pomona CS Slack workspace) - Office hours: See ITS-HPC website for Andrew Wilson’s availability - Troubleshooting: Check the Reference section for common issues

Before you begin


Please complete the following before the workshop:

  1. Verify HPC access: Try logging into https://ondemand.hpc.pomona.edu/ - if it works, you’re ready
  2. Check browser compatibility: We support modern Chrome, Firefox, Safari, and Edge
  3. Test internet connection: Jupyter requires a persistent network connection
  4. Optional: Create a work directory: ssh sagehen && mkdir -p ~/jupyter-workshop

Ready to get started? Let’s dive in!


Questions or suggestions? Please contact or open an issue on our GitHub repository.

Acknowledgments


Developed by Andrew Wilson, Director of Research Computing and Digital Scholarship at Pomona College, with Andrei Motchenko, who tested, edited and produced screenshots for the workshop series.

What You Need


Before the workshop, please verify the following:

1. Pomona College HPC Account

You need an active HPC account on the Sagehen HPC cluster.

Callout

Verify your account

  1. Go to https://ondemand.hpc.pomona.edu/
  2. Log in with your Pomona College username and password
  3. Complete DUO authentication on your phone
  4. If you see the OnDemand dashboard, you’re ready!

If you can’t log in: - Verify your Pomona username (ask ITS Help Desk if unsure) - Ensure DUO is registered (register at https://duo.pomona.edu/) - Contact for account issues

2. Web Browser

You’ll use your web browser to access JupyterLab. Ensure you have a modern browser:

  • Google Chrome (recommended)
  • Firefox (recommended)
  • Safari (Mac)
  • Microsoft Edge (Windows)

Avoid very old versions of Internet Explorer.

3. Internet Connection

Jupyter requires a persistent network connection to the cluster. Ensure:

  • Stable WiFi or wired connection
  • If on campus WiFi, make sure you’re on “Pomona” network (not “Guest”)
  • Off-campus? VPN may be required (check with ITS Help Desk)

4. Basic Python Knowledge

This workshop assumes you know:

  • Variables and data types (strings, numbers, lists)
  • Simple functions and for loops
  • How to read and understand error messages

If you’re new to Python, we recommend completing a Python basics tutorial first. Good resources:

Callout

Python Learning Resources

All assume no prior experience. Complete any of these and you’ll be ready!

Pre-Workshop Checklist


Before the workshop, complete these steps:

If all items are checked, you’re ready for the workshop!

Optional: Pre-Workshop Learning


If you want to get ahead:

  1. Learn basic Python (if new to programming)
    • Complete 1-2 hours of Python basics
    • Understand variables, loops, functions
  2. Explore pandas DataFrames (data analysis library)
    • DataFrames are like spreadsheets in Python
    • Used heavily in our examples
    • (But we’ll teach this during the workshop, so it’s optional)
  3. Browse Jupyter documentation
    • Visit https://jupyter.org/ to see what Jupyter is
    • Watch a 5-minute “Jupyter Notebook tutorial” video on YouTube
    • (We’ll cover everything in the workshop, so this is just for context)

Workshop Materials


The workshop provides:

  • 6 interactive episodes covering Jupyter from basics to best practices
  • Code examples you can run in JupyterLab on Sagehen HPC
  • Hands-on exercises to practice what you learn
  • Reference guide with common commands and troubleshooting

All materials are available through the workshop website (you’re reading it now!).

Getting Help Before the Workshop


If you encounter issues:

Can’t access OnDemand: - Email: - Subject: “Can’t access OnDemand” - Include: your Pomona username, error message (if any)

Trouble with DUO: - Contact ITS Help Desk: (909) 621-8061 - Or: https://www.pomona.edu/its/ - They handle DUO issues

Browser problems: - Try a different browser (Chrome, Firefox) - Clear browser cache (Ctrl+Shift+Delete / Cmd+Shift+Delete) - Try in incognito/private mode

Internet connectivity: - Try on campus WiFi or wired connection - Off-campus? Contact ITS about VPN access

Python knowledge gaps: - Check resources above for 1-2 hours of learning - Basic Python is essential; reach out if you need guidance

Troubleshooting Sagehen HPC Access


If you can’t access OnDemand:

Check 1: Is OnDemand the right URL? - Correct: https://ondemand.hpc.pomona.edu/ - Wrong: ondemand.hpc.pomona.com (no “https”)

Check 2: Are you using the right username? - Pomona username (what you use for email) - Not your full name - Not “student” or generic names

Check 3: Is DUO working? - Check your phone: Is DUO app installed and current? - Is your device registered at https://duo.pomona.edu/? - Try “Call me instead of code” if codes don’t work

Check 4: Is the cluster working? - Check cluster status: - Rarely, Sagehen goes down for maintenance - Status posted on cluster website

Still stuck? - Email: - Include: - Your Pomona username - Exact error message (copy-paste) - What you’ve already tried - Preferred contact method and time

What Happens During the Workshop


The workshop is hands-on and interactive:

  1. First episode: Lecture + discussion about Jupyter (15 min) + small exercise
  2. Subsequent episodes: Lecture (20-40 min) + guided exercises (15-25 min)
  3. Each exercise: You write code in JupyterLab on Sagehen and see results immediately
  4. Challenges: Optional deeper exercises for those who want more challenge

You’ll need: - A web browser open to OnDemand - JupyterLab launched (we’ll do this in Episode 2) - Time to type and think

Questions?


Reach out anytime:

  • Email:
  • Slack: #hpc-help (Pomona CS Slack workspace)
  • Office Hours: See instructor availability on ITS-HPC website

We’re here to help you succeed!