Coursera functional programming excercises