Homework must be done individually. High-level discussion of solution strategies is allowed, but copying of solutions will be treated as plagiarism and dealt with according to the Student Code.

Late Policy

Each student is allowed 48 hours of late assignments to be used up during the semester. E.g., you may submit HW1 13 hours late, HW2 8 hours late, and HW3 27 hours late. Once your late submission time has been used up, any further late submissions will not be graded. Exceptions will be made only in case of well documented medical or other emergencies.

Assignment Out Due Solutions Notes
HW1 Sep 7 Sep 17, 11:59 p.m. Solutions Updated on Sep 10, see CampusWire
HW2 Sep 21 Fri, Oct 1, 11:59 p.m. Solutions #224
HW3 Oct 18 Fri, Oct 29, 11:59 p.m. Solutions
HW4 Nov 15 Fri Dec 3, 11:59 p.m. Solutions
HW5 Dec 1 Wed Dec 8, 11:59 p.m.


MPs should be carried out in a group of two. Solo MPs are permissible but will be held to the same standard as teams of two. You may change groups between MPs but you must notify the course staff. MPs should be implemented in one of C++, Go, Java, or Python.

Late Policy

MPs may be submitted up to 50 hours late but you will lose 2% of your grade for every late hour or portion thereof. E.g., a submission at 1:00 a.m. for an 11:59 p.m. deadline will be considered 2 hours late and your grade will be multiplied by 0.96. Exceptions will be made only in case of well documented medical or other emergencies and must be approved prior to the deadline.

Assignment Out Due Solutions Notes
MP0 Aug 30 Sep 13 Sep 15, 11:59 p.m.
MP1 Sep 16 Oct 7, 11:59 p.m.
MP2 Oct 28 CP1: Nov 10, 11:59 p.m.
CP2: Nov 19, 11:59 p.m.
MP3 Nov 18 Dec 8, 11:59 p.m.