Advanced Programming Lab 3, Fall 2012