Coursera: Functional Programming Principles in Scala