Please make sure all submissions are anonymous.

We will use Gradescope for assignment submission and grading. We will post instructions on EdStem. Please make sure you follow those instructions!

All work will be due by 11:59pm US/Eastern of the indicated day.

The class schedule is provided in this spreadsheet. Note that it may change slightly over the course of the semester; when this happens, we will make an announcement on EdStem. Assignments will be linked from that sheet.

The Group? column says whether you have to do that assignment solo or in a group. A group is two to three people. We will post instructions on group formation on EdStem. If it says that groups are optional, then you can form a group of one or two other people on your own, or work solo, whichever you prefer. You cannot repeat partners across group assignments.

The Late? field says whether you are allowed to use late days for this assignment. Please see the Syllabus and Course Policies for information about late days.

The course homeworks will be programmed in Pyret,Please program according to the Pyret Style Guide. unless indicated otherwise. Pyret is a reasonably large language with many libraries, some of which reproduce functionality (like basic data structures) that we are asking you to create in this course. This can lead to some confusion about what you are and aren’t allowed to use from the language. Each assignment provides information about this when necessary, but in general, the following rules apply: