Functional Programming Principles in Scala (Mar 25 to May 13 2013)