Skip to main content


This is a new class and there is no textbook. 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:

Weekly Status Updates

These are released and to be submitted via Gradescope.

  • Week 1 (due 23:59pm 2/10)
  • Week 2 (due 23:59pm 2/21)
  • Week 3 (due 23:59pm 2/24)
  • Week 4 (due 23:59pm 3/3)
  • Week 5 (due 23:59pm 3/10)
  • Week 6 (due 23:59pm 3/17)
  • Week 7 (due 23:59pm 3/24)
  • Week 8 (due 23:59pm 4/7)
  • Week 9 (due 23:59pm 4/14)
  • Week 10 (due 23:59pm 4/21)
  • Week 11 (due 23:59pm 4/28)
  • Week 12 (due 23:59pm 5/5)
  • Week 13 (due 23:59pm 5/12)

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 one week after the assignment release. Late assignment submissions will be penalized 10% every 24 hours. You have 10 late days to be used in whole day increments over the term.

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.

  • Your project should be related to the course.
  • You are welcome to work on the project in a team (3 people at most).
Project abstractMarch 21, 2023
Project midterm reportApril 18, 2023
Project final reportMay 13, 2023