Overview

You will be completing a series of (semi) weekly homework assignments in order to help you learn how to work with data, primarily using the Python programming language. Each exercise will have you apply the skills you learned in the preceding classes. I will be collecting these homework assignments via Canvas so that I can give private feedback to you.

Instructions

Most of your homework assignments will be completed by coding in Python using Jupyter Notebooks. A Jupyter Notebook is a document in which you can include programming code interspersed with text, images, and displays of data. For each of these homeworks you will be supplied with a Jupyter Notebook file (ending in .ipynb) containing instructions or tasks which you will need to complete within that file. These homework files will be distributed via the course materials Github repository (sp25-data-materials).

⚠️ Whenever you are ready to start a weekly homework assignment, follow these instructions to pull any updates from the instructor’s sp25-data-materials to your fork and local copy. Then immediately make a copy of the relevant Jupyter Notebook file so that you’re not editing the original homework file. Rename the new copy by adding your last name to the end of the original file name (ex. if the original file was hw-01.ipynb, your new copy gets named hw-01-blevins.ipynb).

Homework Submission

To track submissions and leave private feedback on your homework, I have created corresponding assignment pages in Canvas for each homework. For most homework assignments, you will need to upload two files to the assignment page on Canvas:

  1. The first file you need to upload is your completed Jupyter Notebook (.ipynb file). This file is a “live” notebook that, if necessary, I can download and then run your code to generate the output from it. This will allow me to muck around and help debug any problems. Unless otherwise specified, use the naming convention: hw-01-yourlastname.ipynb (ex. hw-01-blevins.ipynb).
  2. The second file is a “static” PDF file that basically takes a snapshot of your notebook’s content and output. This is what I will use to read through your assignment in Canvas and give you feedback on it using Speedgrader. If I run into problems I can then consult the .ipynb file you submitted.

Generating the second PDF file requires a few additional steps:

  • Save your notebook!
  • In Jupyter Lab go to Run -> Restart Kernel and Run All Cells. This basically wipes your notebook clean by reloading it and then sequentially running through all of your code cells. Go through and check to make sure that you don’t have any error messages from running any of your cells and that everything is displaying an output properly.
  • Go to: File -> Print and try to find an option to Save/Print to PDF. Depending on your operating system and browser, this might be Destination -> Save as PDF, Select Printer -> Microsoft Print to PDF (instructions for different browsers). Name the file with the same naming convention as your .ipynb file (ie. hw-01-yourlastname.pdf) and save the resulting PDF file (ending in .pdf) into the same folder.

When you have both files ready to submit, go to the Canvas assignment page and upload both files as part of your submission.