Q1

Jupyter notebooks are interactive web-based notebooks that can be viewed in multiple formats--HTML, PDF, even as lecture slides (as you'll see next week!)--and can also execute embedded code. In essence, they're an incredible instructional tool.

JupyterHub is a multi-tenant platform on which users can interact with Jupyter notebooks. Normally, one has to run a Jupyter notebook on a server in order for its interactivity to function properly. While Jupyter itself comes with a local server, this doesn't really help in the case of wanting to provide interactive versions to many users at once--say, a class of students. That's where JupyterHub comes in: I can release a single notebook, and every time someone requests to view it, a new server instance is spun up so everyone gets their own copy to edit. No Google-docs-ing each other's edits.

We have such an instance running!

A

Remember, you'll need access to the UGA campus network. Either you'll need to do this from campus, or be logged into a VPN, otherwise you'll get a frustraing error.

Go to http://jupyterhub.cs.uga.edu. At the login prompt, enter your MyID as your username, and your MyID as your password. Yes, totally insecure, but this is only accessible from the UGA network, and we'll get to changing your password shortly.

If your login was successful, you should see a URL that looks something along the lines of jupyterhub.cs.uga.edu/user/<MyID>/tree, and a screen that looks like this:

In the box below, inform me whether or not you were able to successfully complete A.

B

JupyterHub performs user authentication based on the accounts of the users that exist quite literally on the system running the JupyterHub server. So in order to change your password, we'll have to delve ever-so-slightly into the world of command prompts. I promise it'll be easy!

On the far right-side of the main JupyterHub landing screen, click the dropdown menu that says "New", and select "Terminal". You should be directed to a screen that looks like this:

This is a shell that runs on top of the core operating system. To change your password, we have to enter one simple command: passwd

Press Enter. You'll be asked to type in your existing password (again, your MyID), then you'll be prompted to enter an entirely new password and confirm it.

That's it! You should have a new password now. You can test it's working by clicking the "Control Panel" button in the top right corner, then "Logout". Try logging back in again, this time with your MyID and new password.

This has no bearing on your UGA MyID account. It's a completely separate system. It just happens to use your MyID as your username, so you don't have to remember something different. If you want to set your password to be the same as your UGA MyID password, be my guest.

In the box below, inform me whether or not you were able to successfully complete B.

C

We interacted briefly with the operating system shell when we changed your JupyterHub password. We can also go into a Python shell. This is a really nice way of testing out code and immediately seeing results; a great tool for one-liners that you'd like some immediate feedback on.

No coding just yet! This is just to show you how to access a Python environment, should you choose not to install Python on your local machine.

Fire up an operating system Terminal again: from the main screen, go to the right-hand side, click the "New" dropdown, and select "Terminal".

In the terminal, type "python". The Python shell should start, and you should see something like this:

This is a Python environment! You can type and run Python code here, and it will be immediately executed and evaluated. We won't do any of that now; for now, just type exit() to drop out of the Python shell and back to the operating system.

In the box below, inform me whether or not you were able to successfully complete C.

D

You can create entirely new Jupyter notebooks while in JupyterHub. This is one possible way you can test out Python code without actually installing Python on your local machine. Of coures, it requires an internet connection.

It's easy enough: go to the "New" dropdown at the far right, and select "Python 3".

That's it! A new notebook should spin up using a Python kernel. Don't worry yet about doing any coding, but so you know how it works: all the code goes in cells. You can add new cells using the "+" button on left side of the menubar.

You can shuffle existing cells around using the up and down arrows in the same menu. After you've made changes to a cell, you can execute and run it and see its output. To do this, make sure it's active, and click the button that looks like a "Play" button in the top menu bar (near the middle).

In the box below, inform me whether or not you were able to successfully complete D.