Q2

For yesterdays Lecture 1 slides, you viewed a live rendering of the Jupyter notebook. The raw notebook itself is a JSON file; not something we really want to have to mess with ourselves. However, the whole point of these fancy Jupyter notebooks is that they're supposed to allow interactivity. What's the point if, in the end, they're just glorified HTML?

There are a couple ways we can interactively view the notebook files. In doing so, you have full access to the source of the notebooks. You can change them, edit them, add to them, subtract from them; they're designed this way so, when the lectures start containing Python code, you can run these notebooks interactively, change the code yourself, and re-run it to see what the changes do.

There are two ways of running the Jupyter notebooks interactively. If you're not interested in interactive notebooks, you can also download them in your favorite static format. We'll walk through them all.

A

mybinder is an awesome service set up by some of the researchers at HHMI Janelia Farms for the expressed purpose of running Jupyter notebooks interactively. Their servers are public, but they're completely free; they're run as a service to the scientific and educational communities.

I've already set up the notebooks to be viewed through mybinder, so all you have to do is navigate to the course's GitHub repository:

https://github.com/eds-uga/csci1360e-su16

and click the little mybinder button about 2/3 of the way down the page:

After you click the link, be patient. The Janelia Farms servers will be spinning up virtual machines to host the Jupyter notebook for you; this can take some time, considering their resources aren't unlimited and this service is used by a lot of people.

Eventually, you should see an interface pretty much identical to the one you saw in JupyterHub earlier, except with some stuff in it! Click the "lectures" folder, and then click on "L1.ipynb" notebook.

In just a second, you should see a somewhat familiar sight:

I saw "somewhat", because it looks a tiny bit different. That's the interactivity talking! If you double-click on any part of the notebook, the cell will activate, and you'll be given access to the raw content. For Lecture 1 it's pretty boring; all the content is Markdown, a type of mark-up language very similar to HTML. You're welcome to change it, tweak it, and add/remove things! After you've made changes, simply make sure the cell you want to re-execute is active, and click the "Play" button.

Were you able to get A to work? If so, what are your thoughts on it? If not, what went wrong?

B

mybinder is a really nice service, but it requires an internet connection. That's not always a given. If you want to interact with the notebook content, test out some code, and generally push things around but know you won't have an internet connection, it's possible to host the notebooks locally.

This requires installing Python. Before proceeding any further, go to the Bonus question at the end for instructions on how to install Python on your local machine.

If you are only interested in STATIC downloads, such as getting a PDF version of the lecture slides, skip to part 3 directly below.

If you're still reading, I'll assume you've already installed Python on your machine and tested to make sure it works.

First, we'll download the GitHub repository where the notebooks are stored. Go to the GitHub repository: https://github.com/eds-uga/csci1360-fa16.

On the main page, click the green button on the right that says "Clone or download", and choose "Download ZIP". This will give you a ZIP archive of the entire repository. Extract the archive.

Once it's downloaded and extracted, open up a command prompt / Terminal window. In the command prompt, navigate to the folder you just downloaded and extracted. This is usually done with the command cd <foldername>.

When you're in the directory with the *.ipynb lecture files (you can test by typing "ls" if you're using Linux or OS X, or "dir" if you're using Windows; in either case, running that command should output a list of files in the current directory), run the following command to start up Jupyter:

jupyter notebook

This will spin up a Jupyter server and open up a browser tab in the folder where you issued the command. You should see a window exactly like the one you saw in JupyterHub, this time with the lecture notebooks visible. Simply click on one of the notebooks, and you're up and running!

Were you able to get B to work? If so, what are your thoughts on it? If not, what went wrong?

C

When you're viewing the notebooks interactively, such as through mybinder or locally using Jupyter, you have the option to export them in a variety of different formats. If you want offline access to the lecture slides but don't care about interactivity, then you can follow these steps:

  1. Start up a notebook using mybinder (as in part 1) or locally-hosted Jupyter (as in part 2).
  2. Go to "File" -> "Download as".
  3. Select your favorite format! I would recommend PDF, or failing that, HTML.

This will provide static renderings of the notebooks for you to view at your leisure. They're completely inert, but if you just want offline access to the content, this is the easiest way.

What is your preferred static format?