Functional Programming Principles in Scala from École Polytechnique Fédérale de Lausanne in Coursera