Coursera, functional programming principles in scala