Information about all class assignments (homeworks and the final project) will be posted here. All homeworks will be released as jupyter notebooks (with an accompanying GitHub repo, that is also cloned by the notebook if you run it on Colab).

Autograding system

All the assignments will make use of the mugrade grading system (participants in the online course need to use the alterante mugrade site. The system and it’s operation are described in detail in Homework 0. If you are enrolled in the course or waitlist at CMU, or if you enrolled in the online course, we will automatically set up a mugrade account for you, and you can reset your password when you first log in.

The first Homework 0 assignment will walk you through the process to see the how to use the system. We will also walk through its use briefly in the class lecture on 9/1.

In addition to submitting your solutions, you need to also submit the final version of your code you used to get the solutions. This should be done only once, after you are done submitting the individual problems.

Late days + extensions

You will have 5 late days to use throughout the course. At most two can be used on any single assignment (after which, the autograder will not allow further submissions). You can get partial credit on most homeworks, so it’s important to submit early and often (there are no limits on the number of submissions allowed, but be sure to pass the local tests before you submit your solutions). Late days can only be used on the homeworks, and not on the final project proposal or final report.

If any situation comes up that you feel requires an additional extension, please get in touch with the instructors right away. We can grant extensions for extenuating circumstances, but it’s important to contact us early to let us know the situation, rather than waiting until right before the deadline.

Final project

Information for the course final project has been released here (which also includes all relevant due dates).


All assignments are due at midnight (i.e. 11:59pm) Eastern Time. Submission after the time will automatically start to incur late days (or be turned off, after the 2 days have passed.)

Note: Assignments for the public online course are due typically at least two weeks after the deadline for the CMU course. You can download and look at the assignment before then, but you won’t be able to submit your code until the assignment is officially released for the online course.

Homework Released -> Due Released -> Due (online course) Colab Link GitHub Repo
Homework 0 8/30 -> 9/13 9/15 -> 9/29 colab github
Homework 1 9/13 -> 9/27 9/29 -> 10/13 colab github
Homework 2 9/28 -> 10/12 10/13 -> 11/3 colab github
Homework 3 10/13 -> 11/3 11/3 -> 11/17 colab github
Homework 4 11/8 -> 11/29 11/22 -> 12/13 colab github