We use a few learning platforms in CSE 160 to organize course content, resources, and assignments. Take a moment to familiarize yourself with each of the following websites.

Course Website

The CSE 160 course website (cs.uw.edu/160) hosts (almost) all course content, including the course schedule, syllabus, assignment instructions, and links to lecture and section materials. This is your one-stop-shop for all things CSE 160!

EdStem

EdStem (or “Ed”) is our course discussion platform, which we’ll use for course announcements and to ask and answer CSE 160-related questions. If you have a question—about a concept, assignment, or logistics—you should consider asking it on Ed first!

Gradescope

You’ll submit (and receive feedback on) your assignments—homework assignments, programming practice, and written check-ins—through Gradescope. For homework assignments and programming practice, you will submit Python (.py) files which will get checked against autograder tests. You’ll learn more about how to use Gradescope on the Submit page of this homework.

Canvas

Like in many other CSE courses, Canvas is used only very rarely. Any information available on Canvas is based on (copied from or linked to) information available on the course website, Ed, or Gradescope.

Our Programming Environment

Here’s some helpful information about the tools we’ll use to program in CSE 160.

Python

Python is a flexible programming language used for a variety of tasks, from email processing to data analysis to bioinformatics to machine learning to setting up this course website! The features we teach in CSE 160 require at least Python version 3.7, so they will work on any later version of Python (our JupyterHub is on version 3.13).

Since we’re using JupyterHub, we don’t have to worry about Python versions or installing anything!

JupyterHub

This quarter, we’ll use JupyterHub to host the files we’ll work with while programming. JupyterHub provides each student in CSE 160 with their own online Python development environment that includes the relevant assignment starter files. You can think of JupyterHub as a sort of Google Drive for our code files.

The Python version and external libraries required for the course are already installed on the CSE 160 JupyterHub, which means we’re ready to start programming!

To access your own JupyterHub server (your own programming workspace), follow this link:

https://jupyter.rttl.uw.edu/2026-winter-cse-160-a/hub/user-redirect/lab/tree/COURSE_MATERIALS/

You will be prompted to log in using your UW NetID and to authorize JupyterHub to sync with your credentials.

JupyterHub may prompt you to 'sign in with OAuth 2.0'

Then, your JupyterHub server will start to boot up. This could take up to 2 minutes, but if your server is already running the startup process will be quicker.

JupyterHub may take up to two minutes to fully load

flake8

Code is meant to be read and understood by humans(!), so maintaining good code style (or ‘code quality’) is an important part of programming. It’s also a part of how we’ll grade your coding assignments! flake8 is a tool for automatically checking code style in Python.


With a better understanding of the tools we’ll use in CSE 160, you’re ready to start on the programming tasks for this homework!