programming assignment for cs453 fall 2011