notes for course: Functional Programming Principles in Scala on Coursera