This repo is only for learing purpose of computer science course sc107, university of basel (oct 2013).