Coursework for IA54 class developped during Fall 2013 semester by Lucie Boutou and Théophile Madet.