Stanford University course CS193P (Fall 2013) assignment: Matchismo.