Assignment 3 - Python


Due Date: Monday, Feb 11 at 11:59pm

NOTE: Only one late day is allowed for this assignment! (The late deadline is Tuesday, Feb 12 at 11:59pm)


Late Policy: All assignments and projects are due at 11:59pm on the due date. This assignment can be turned in up to one day late for a 10% penalty. Students have five free late days they may use to turn in work late with no penalty: four 24-hour periods, no pro-rating. This late policy is enforced without exception.

Honor Code: Under the Honor Code at Stanford, you are expected to submit your own original work for assignments, projects, and exams. On many occasions when working on assignments or projects (but never exams!) it is useful to ask others -- the instructor, the TAs, or other students -- for hints, or to talk generally about aspects of the assignment. Such activity is both acceptable and encouraged, but you must indicate on all submitted work any assistance that you received. Any assistance received that is not given proper citation will be considered a violation of the Honor Code. In any event, you are responsible for understanding, writing up, and being able to explain all work that you submit. The course staff will pursue aggressively all suspected cases of Honor Code violations, and they will be handled through official University channels.


This assignment uses the same datasets from past assignments (World Cup and Titanic). See setup instructions below.

Setup Instructions:

We will be using Instabase for this assignment.

  1. You will need the files found at the following link copied to your personal Instabase account: Assignment 3.
    To copy files to your personal Instabase account, select all the files (select the first one, then shift+click on the last one), then press Actions > Copy. Copy the 4 files into a folder in your own repository. You now have a private copy of the assignment to work on.
  2. Navigate to the folder where you copied the files to, and the folder should contain PythonAssign.ipynb. Right-click on this file and select Open With > Jupyter. (If you simply double-click on it, it will show you the file but will not run Jupyter notebooks.) Sometimes it will take a minute or so for a new Jupyter server to start up on your behalf. Once it does, you are ready to go! In the notebook you will see clearly where you need to add code for the different problems.

Submission Instructions:

There are two parts to submit on Gradescope, a PDF of your notebook and its .ipynb file.
  1. Download your Jupyter Notebook as a PDF. With your Notebook pulled up in Instabase, open the print menu for your browser (File > Print). Change the printer to "Save to PDF", and print (this saves your Notebook as a PDF file). Check that all of your answers are still there.
  2. Next, download your Juypter Notebook as a .ipynb file. In the menu bar, choose File > Download As > Notebook (.ipynb).
  3. Go to the CS102 class in Gradescope and click on Assignment 3: SQL Notebook PDF.
  4. Upload your PDF and tag the pages corresponding to each question and your answer. You may submit as many times as you like before the submission deadline, and we will use your latest submission for both grading and the late policy.
  5. Go back to the Gradescope CS102 class and click on Assignment 3: Python .ipynb File. Upload the .ipynb file you downloaded.

For more detailed instructions on submitting to Gradescope, take a look at the Gradescope FAQ.


Complete the problems in PythonAssign.ipynb. Please follow the setup instructions above to create your own copy of the assignment. Make sure that the data (Players.csv, Teams.csv, Titanic.csv) is in the same folder as the notebook.