Homework project for  Compile Practice, Autumn 2013, PKU