This homework is a problem set. Please see hw1.pdf for further instructions.
Note: Q5 is now optional. Please submit at least Q1-4.
To submit the homework, you will upload your solutions as a PDF (hw1.pdf) and accompanying code (hw1.py plus any corresponding helper files) to Gradescope.
Solutions must be typed. We recommend you write your solutions in LaTeX. You may find it convenient to edit hw1.tex directly; if you do so, please remove or comment out the problem statements and include only your solutions.
We won't be able to grade code that doesn't run, so please double check that your code runs before submitting. You should be able to run pytest <yourfile>.py and see a list of successful, skipped, and expected failing test cases. If you have some broken code, please remember to comment out the broken parts (or use @pytest.mark.skip to the unit tests) to ensure you receive some partial credit.