Functional Programming Principles in Scala, Coursera 2014