Skip to main content


We will post relevant reading material. The assignments are as follows, and will be released one week before they are due. HW order is subject to change as the semester progresses:

Students also need to sign up for peer-grading. See Piazza.

Weekly Status Updates

These are released and to be submitted via Gradescope.

  • Week 1 (due 17:00 pm 2/12)
  • Week 2 (due 17:00 pm 2/19)
  • Week 3 (due 17:00 pm 2/26)
  • Week 4 (due 17:00 pm 3/4)
  • Week 5 (due 17:00 pm 3/11)
  • Week 6 (due 17:00 pm 3/18)
  • Week 7 (due 17:00 pm 4/1)
  • Week 9 (due 17:00 pm 4/8)
  • Week 10 (due 17:00 pm 4/15)
  • Week 11 (due 17:00 pm 4/22)
  • Week 12 (due 17:00 pm 4/29)
  • Week 13 (due 17:00 pm 5/6)
  • Week 14 (due 17:00 pm 5/13)

Submission of Assignments

Details for problem set submission can be found on Piazza. Each problem set is weighted equally. Grading will rely on review of the submitted code and writeup. More details will be provided when assignments are released. Assignments are due week after the assignment release. You have five late days to be used in whole day increments over the term and it is only applicable to Assignments. While that time there will be no penalty.

Collaboration Policy

Collaboration is encouraged, but the work you submit for assignments is expected to be entirely your own. That is, the writing and code must be yours, and you must fully understand everything that you hand in. Discussing the details of how to solve a problem is fine, but you must write the solution yourself. To avoid plagiarizing, you shouldn't be looking at someone else's solution while you write down your own. If you collaborated significantly (use your own discretion for "significantly") on a problem, list the people you collaborated with next to your solution.

Final Projects

The final project will be your opportunity to explore some of the topics introduced in the course more deeply. You can find the details in here.

  • Your project should be related to the course.
  • We encourage you to form groups of 3 or 4. The typical expectation is that a N size group will do N * the work of a single person project.
Project abstractMarch 22, 2024
Project midterm reportApril 26, 2024
Project final reportMay 12, 2024