Homeworks

Written homeworks are due every Tuesday at 9pm unless announced otherwise. We post each week’s homework at least one full week before its due date; we post solutions at most a day after the due date. (Links to future homeworks and solutions are placeholders; topics of future homeworks are subject to change.) 


Tue Sep 01
Homework 1: Strings and induction
Wed Sep 09
Homework 2: Strings and induction
Tue Sep 15
Homework 3: Proving irregularity, regular or not?
Tue Sep 22
Homework 4: Language transformations, CFGs
Tue Oct 06
Homework 5: Divide and conquer
Tue Oct 13
Homework 6: Dynamic programming
Tue Oct 20
Homework 7: More dynamic programming
Tue Oct 27
Homework 8: Graph algorithms
Tue Nov 03
Homework 9: More graph algorithms
Tue Nov 17
Homework 10: NP-hardness
Wed Dec 02
Homework 11: More NP-hardness