Skip to content

DS150 Cluster Walkthrough

This document will help you understand how to use the BOSE supercomputing cluster, and various tools on it, for DS150. If you have any questions, feel free to email us at BGSC.ADMINS@uwec.edu.

Open OnDemand | JupyterHub | Linux Quick Guide PDF

Including Section Number '001' vs '002'

The instructions in this guide mostly matches the 9:00am class (section 001). If you are in the 12:00pm class, you'll be using "002" instead of "001" for all instructions.

  • 9:00AM - Section 001 - my_ds150_001
  • 12:00PM - Section 002 - my_ds150_002

Important: Some instructions you see, both here and in labs/homework, may reference my_ds150. Make sure to add the section number to the end like my_ds150_001.

Part 1: Logging in to Open OnDemand

For your convenience, the cluster can be accessed through a graphical user interface (GUI) called Open OnDemand. This interface will allow you to access all of the features you will need for DS150.

  1. Navigate to https://ondemand.hpc.uwec.edu (Requires on-campus or VPN connection).
  2. Enter your UWEC login and authenticate with Okta.
  3. Complete the first time sign-in process if you have never used the cluster before. * Follow the instructions on screen exactly. Make sure you accept all the terms of service.

Trouble with setup?

If you're struggling with first time sign-in or accepting the terms of service, try following our detailed guide at https://docs.hpc.uwec.edu/ood/first-time/

Part 2: The OnDemand File Manager

Open OnDemand has a file browser built-in that can be used for basic operations such a creating, viewing, editing, and deleting files. To access it, click Files > Home Directory in the hotbar or click the pinned app on the OnDemand dashboard.

  1. Open your my_ds150_00# folder OR Your Files: DS150_001 (Fall 2025) on the left:

Home Directory

Your DS150 Files

  1. Create a new folder named lesson0:

my_ds150 Directory

  1. Navigate back to your home directory by clicking on your username above the list of files, or by clicking "Home Directory" on the left.

  2. Click on course_files in your my_ds150_001 directory OR Class Files: DS150_001 (Fall 2025) on the left, which is where you'll be able to find all of the course files you need to copy each day.

File Bookmarks

  1. Copy the Demo.ipynb file from the lesson0 directory by first selecting the file you want to copy and clicking Copy/Move in the top right:

Notebook Copy

  1. A new message box will appear on the left side of your screen. Navigate back to your "my_ds150" folder by going to your home directory OR by clicking Your Files: DS150_001 (Fall 2025) on the left, then go to the lesson0 you created previously.

  2. Once there, click the Copy button from the new box. This will copy Demo.ipynb to your own local lesson0 folder:

Notebook Paste

Part 3: Bash and Basic Shell Commands

For now, we are going to go into the shell environment, which is less graphical and where you'll be running some commands.

1) Click on the "BOSE Cluster Shell Access" tile on the home page, or go to "Clusters --> BOSE Cluster Shell Access" on the top of the page.

The Prompt

The Bourne Again Shell (BASH) will be your primary method of interacting with your files on the cluster. When you are in the shell, you will see a Command Prompt that looks something like this

[username1234@bose ~]$

The prompt has several components:

  1. Your username
  2. The hostname of the machine. In this example the hostname is bose
  3. Your current working directory. The tilde (~) represents a user's Home Directory

Commands

Refer to the Linux Quick Guide at the front of this packet for helpful shell commands and more information on relative and absolute paths

The dollar sign ($) after the prompt is where you will enter commands. Commands can be used to perform many operations on the cluster, but for now we will be sticking to basic file management. Most commands take Arguments, which are additional information you provide to tell a command what to do. For example, the touch command creates a new file, but you must provide a name for the newly created file: touch myfile.txt A Flag is something which can be added after a command to alter its behavior. Single-letter flags can be combined into one large flag. For example, instead of ls -l -a, you can type ls -la.

Tabbing

When you enter commands, you can press tab to auto-complete both commands and file/directory names. For example, if you want to remove the file myfile.txt, you can type rm myf and then press tab. This will autocomplete the command for you so long as the file exists and there are no other files or directories matching that pattern in your working directory. In the case of ambiguity (such as myfile.txt and myfile2.txt existing in the working directory), you can double-press tab to see all matching entries in the directory. Use this as much as possible to save lots of time and your fingers!

DS150 Instructions:

Below is a list, in order, of the commands you will run for your first assignment:

hello_world.py

  1. Change the working directory to your class folder:
    cd ~/my_ds150_001
    # OR
    cd ~/my_ds150_002
    

Tip: The ~ refers to your personal home directory on the cluster.

  1. Copy provided python (.py) files to your personal lesson0 directory. Note the use of the wildcard character * to copy all files ending in .py:

    cp -r course_files/lesson0/*.py lesson0/
    # OR
    cp -r course_files/lesson0/*.py lesson0/
    

  2. Change your working directory to your lesson0 folder. Run pwd at any time to confirm if your path is correct:

    cd lesson0/
    

  3. Load DS150's custom python module. If the module is activated, (ds150) will be added to your prompt:

    module load ds150
    

  4. Run the hello_world.py python file:

    python hello_world.py
    

Part 4: Visual Studio Code

Visual Studio Code is a versatile text editor developed my Microsoft. It allows for simple text editing paired with extensive features for programmers and developers. To access it, click Interactive Apps > Visual Studio Code in the hotbar or click the pinned app on the OnDemand dashboard.

Launch a session of the app and begin editing your hello_world.py file located at /data/users/<your-username>/my_ds150_001/lesson0.

Part 5: More Bash and Commands

  1. Open the Terminal in VS Code

VS Code Terminal

  1. Change your working directory to your lesson0 directory:

    cd my_ds150_001/lesson0/
    # OR
    cd my_ds150_002/lesson0/
    

  2. Load the ds150 module

    module load ds150
    

  3. Re-run hello_world.py and see its results with your new edits:

    python hello_world.py
    

Part 6: JupyterHub

Jupyter Notebook is an interactive computing platform that allows for running code through the use of individual cells rather than all of your code at one time. This is a great tool for seeing immediate results and visualizations. You might also use it to fetch and retrieve assignments through something called "NBGrader". To access it, you can click the JupyterHub button at the top of this page at any time.

Logging In:

  1. Open in JupyterHub
  2. Click "Sign in with Campus Account" at the bottom
  3. Select "University of Wisconsin-Eau Claire"
  4. Log in with your UWEC Account.

Start Jupyter Server

For you to use Jupyter, you need to start it every day that you want to run code. By default your session will last 6 hours before you need to start it up again. Keep that in mind.

  1. Click "Start Server" or "My Server" (if already started)
  2. Select "DS150" profile from the list.
  3. Click on my_ds150_001 or my_ds150_002 on the left side and find Demo.ipynb
  4. Run the cells as directed in class.
Jupyter in Open OnDemand?

Up until this fall, Jupyter Notebook was built into Open OnDemand as an interactive application that most classes and research groups used. For your class, you will be using JupyterHub, which a separate version that supports tools such as NBGrader and you are the first class to try it out. While running notebooks in Jupyter is pretty much the same in both versions, the user interface is different,.

If you choose to use Jupyter in OnDemand, you can use these settings as a guide, just like what you did in VS Code.

  • Accounting Group: 2261.ds.150.001 (You might have multiple!)
  • Slurm Partition: Week (7 Days) - Default
  • CPU Cores: 1
  • Memory: 5G
  • # GPU Cards: No GPUs
  • Number of hours: How long you intend to actively use Jupyter at the time.
    • Note that it’ll stop once you hit the time limit, in which case you can just submit the form again to pick up where you last saved.
  • Working Directory: Leave blank

Part 7: NBGrader

NBGrader is a tool that you might use to submit class assignments. It lives within Jupyter where you can fetch, edit, test, and submit assignments for your professor to grade.

  • Click on the "Nbgrader" button in the top menu bar of Jupyter
  • Click on "Assignment List"
  • Make sure your class is set to "ds150_001-fall25" or "ds150_002-fall25"

NBGrader Screen

Downloading Assignment:

  • Click "Fetch" next to the assignment once released by professor

Working on Assignment:

  • Click on the assignment under "Downloaded assignments"

Submitting Assignment:

  • After you finish working on your assignment, click on "Submit" next to its name

Feedback/Grade:

  • After the assignment is graded and feedback is released, you'll be able to "fetch" your graded homework and see feedback/comments, if any.