HW for the class CS61A at UC Berkeley as seen http://www-inst.eecs.berkeley.edu/~cs61a/su14