Homework Assignments (45%)

There will be six programming assignments, assigned every one or two weeks. Instructions on turning them in will be posted with each assignment.


  • You can work on the assignment either alone or in groups of two.
  • Every student has to turn in their solution, even if their solution is identical to their partner’s.

Midterm (25%)

Will be held in class on Thursday February 10.

The format will be announced before the midterm.

Final (30%)

Will be held on Tuesday March 15.

The format will be announced before the final.

Since the final is cumulative, your midterm grade will be calculated as midterm > 0 ? max(final, midterm) : 0. This means that you get a second chance if you don’t do well on the midterm but you must turn in both the midterm and the final.

Discussions (+5%)

Extra credit for top-20 best participants in Piazza discussions, determined by the instruction team.