Homework Policy


The goals of the out-of-class homework are to encourage individual study and support the online discussions. More specifically, they:

  • Give you practice applying concepts from class.
  • Provide a concrete artifact to discuss with peers online.
  • Allow you to get frequent and fast feedback on your progress.

Often, you will discuss the solutions that you’ve submitted with classmates on Canvas, which I hope helpful and collaborative. However, for this to work, each student should complete the homework independently and submit only their own work. This is important since:

  • It ensures we have a diverse set of solutions to discuss.
  • You will get more out of the discussion if you struggle with the problems on your own first.

Since homework is not graded for correctness, there is minimal incentive to do otherwise.


Unlike exams, which evaluate performance, homework in this class is graded based on effort. You will get full credit for any assignment that is submitted on time and is clearly the product of a determined effort to solve the problems.

What to do if you can’t solve a problem: In place of a solution, describe (for example, in comments) what you understand about the problem, how you attempted to solve it, and where you ran into trouble. The goal of this exercise is not to punish you with bureaucracy, but to encourage you to step back from the problem and reflect on it. Often this can lead to new breakthroughs! However, if not, it will demonstrate to us that you invested an appropriate amount of effort into trying to solve it.

Since homework assignments are intended to support the in-class discussions, it is important that you submit your homework on time so that you can participate in these discussions.

How to Submit

Assignments will be submitted through Canvas.

For programming assignments, you can simply upload the file containing your solution.

For some of the later assignments, it is easiest to do the assignments handwritten on paper. In this case, you can submit a photo or scan of your submission to Canvas. You are also welcome to create a nicer electronic submission using LaTeX or some other software, but this is definitely not required.

Back to course home page