Hands-on lab notebooks that run in the class JupyterHub on the GPU box. Click Launch to open a lab. It pulls the latest version into your account and opens the notebook. The first time, sign in with your class account. Each lab’s details page has its description and a direct launch button.

Get comfortable driving the machine from the command line before you build on it. A hands-on tour of the most useful Linux commands for finding your way around, working with files, searching text, and checking on the system.

Every lab after this one runs Python inside a Jupyter notebook, so spend an hour getting fluent first. Practice running cells, tracking what the notebook remembers, and reading and editing small pieces of Python before the real builds begin.

Design a repeatable experiment and turn it into clean, reproducible data. Simulate realistic edge measurements like latency, power, and temperature, decide how many runs an experiment needs, record the results in a tidy format, and pin the whole thing with a virtual environment so anyone can reproduce it.

Turn experiment data into figures you could put in a paper. Pick the right chart for each claim, apply one consistent house style, keep colors readable for colorblind and grayscale readers, and export clean vector files ready for a report or LaTeX.

Write one portable benchmark, run it on the DGX and a second device, then merge the results and compare. Measure CPU compute, memory bandwidth, interpreter speed, memory capacity, and sustained thermal behavior, and see the ways one machine beats another.

Build and run your first containers, then wire a few together into a small edge system. This is the sandbox every later lab builds on, so you leave comfortable starting, inspecting, and tearing containers down.

Set up the toolkit the rest of the course runs on: SSH into the device, work in the Linux shell, and track your changes with Git and GitHub. Every later lab assumes these, so you get fluent with them first.

Look inside the device you will build on, its CPU, GPU, memory, and how the pieces connect. Reading the hardware first lets you design a system that fits the box instead of fighting it.

Read a device's sensors and turn their raw signals into a clean, timestamped stream of measurements. That stream is the input every dashboard, model, and alert later in the course depends on.

Stand up InfluxDB and Grafana with Compose, push sensor data in over the HTTP API, and build a dashboard you open right in the browser. By the end you can watch your telemetry update live.

Run a YOLO vision model directly on the device and measure how long each inference takes. You see first-hand what it means to do machine learning at the edge, close to where the data is made.