HW0 - Review, Python, & Course Tools (0 points)

Due Friday 04/01 at 11:59 pm.

Note: For this assignment only, we show the correct answers for the submission assignments so you can verify you can use the tools correctly. This will not be true for future assignments. Please make sure you ask questions early! This assignment is not worth any points, but is expected you complete it before HW1 so that you are familiar with the tools we will use in this course.


Assignment Structure

For each homework assignment, there will usually be two things to submit:

  • A Concept portion that asks you to solve conceptual questions about that week’s material. This part counts towards the Concept Portion of your assignment grade. You will turn in Concept portions on Gradescope.
  • A Programming portion that asks you to answer questions or do an analysis involving programming. This counts towards your Programming portion of your final grade. You will turn in Programming portions on EdStem.

Concept - Review of Foundations


Complete the Concept portion on Gradescope. This homework will ask you to review mathematical concepts you should be familiar with before taking this class.

For this homework, we only have multiple choice and numeric answers that can immediately show you the correct answer. In future assignments, Gradescope will not show if your answer is correct and we may ask more involved questions that require uploading work.

Programming - Python and Course Tools


This and other Programming portions will be using EdStem as your tool to edit and submit your solutions. We will use a programming format known as a “Jupyter Notebooks” this quarter, as they are a common tool amongst data scientists to develop and communicate their results. EdStem supports hosting and running of Jupyter Notebooks, as well as providing us means for autograding them.

When you first visit the assignment, you will get a copy of the starter code (called a “Scaffold”). You will then be freely able to edit your starter code with whatever work you want. You can always reset your code back to the Scaffold by clicking the “…” on the top-right and then “Reset to Scaffold”. But be careful! That will erase all of your current work.


We want you to start by reading a few Jupyter Notebooks to get used to the interface and to get a brief introduction to Python and pandas. You can view a list of files by click the Files button on the far-left. Start by reading

  1. Notebook 1 - Getting Started with iPython Notebooks.ipynb - Will introduce what a Jupyter Notebook is and how to run code in them.
  2. Notebook 2 - Getting Started with Python.ipynb - Will introduce the basics of the Python language.
  3. Notebook 3 - Getting Started with Pandas.ipynb - Will introduce the basics of a major library we will use this quarter named pandas.

Writing Code

Once you have completed these readings, go ahead and complete the notebook named HW0 - Intro to Python Tools.ipynb! This is just a Jupyter Notebook, but has special cells that contain comments of the form ### edTest(...) ###. These comments let us define how to autograde your code. You should complete each test cell to compute or define the value(s) as described.

You can submit by pressing the “Mark” button at the bottom-right. Every time you press “Mark”, it submits your current code and runs it against our autograder. You can submit as many times you want before the deadline (or if you ware using late days, before the late cutoff). We will take your last submission marked.

For this assignment, we will show you all the tests we run every time you mark your solution. In future assignments, we will only show a subset of the tests to avoid being able to get derive answers by trial-and-error.