Work for the Coursera course Functional Programming Principles in Scala with Martin Odersky