Homework

Programming in Python

We will use Python for the programming portions of the assignments. Python is a powerful general-purpose programming language with excellent libraries for statistical computations and visualizations. During the first week of the quarter, we will provide a tutorial to jump-start your transition into working in Python.

Here are some Python related resources:

We strongly encourage you to use Python 3 (versus Python 2) so that if code is provided on an assignment there are no compatibility issues. This also helps with debugging if everyone is on the same version.

Submission guidelines

Each homework assignment will be submitted as a single PDF to gradescope. Any code for a programming problem should come at the end of the problem, after any requested figures for the problem. When submitting to gradescope, please link each question from the homework in gradescope to the location of its answer in your homework PDF. Failure to do so may result in point deductions. Instructions. We expect all assignments to be typeset (i.e., no photos or scans of written work). This can be done in an editor like Microsoft Word or Latex (highly recommended). See the Textbooks Tab above for guides to using Latex. There exist convenient packages for listing Python code in Latex.

Collaboration Policy

Homeworks must be done individually: each student must hand in their own answers. In addition, each student must write their own code in the programming part of the assignment. It is acceptable, however, for students to collaborate in figuring out answers and helping each other solve the problems.

To be more precise, on every homework:

  • list every person with whom you discussed any problem in any depth, and every reference (outside of our course slides, lectures, and textbook) that you used.
  • You can spend an arbitrary amount of time discussing and working out a solution with your listed collaborators, but *do not take notes, photos, or other artifacts of your collaboration*. Erase the board you were working on, and once you're alone, write up your answers yourself.
  • This means that word-for-word phrases shared between homeworks will leave us with a high degree of suspicion that the whiteboard policy was not followed, and similarly high degrees of similarity between programming assignments. We do scan for the latter programmatically, and the former manually.
  • The homework problems have been carefully chosen for their pedagogical value and hence might be similar or identical to those given out in past offerings of this course at UW, or similar courses at other schools. Using any pre-existing solutions from these sources, from the Web or other textbooks constitues a violation of the academic integrity expected of you and is strictly prohibited.
  • Late Policy

    We will allow 5 total late days. If an assignment is submitted late and this exceeds your 5 late days, that assignment will receive 0 credit. Late days may be spread over any number of assignments, but the total number may not exceed 5. Late days are rounded up so that an assignment that is 28 hours late accumulated 2 late days.

    Regrading requests

    All requests for regrading should be submitted to Gradescope directly. Office hours and in person discussions are limited solely to asking knowledge related questions, not grade related questions. If you feel that we have made an error in grading your homework, please let us know with a written explanation, and we will consider the request. Please note that regrading of a homework means the entire assignment may be regraded which may cause your grade on the entire homework set to go up or down. Regrade requests must be submtted within 7 days (24*7 hours) of the time in which grades are released.