Functional Programming Principles in Scala

Functional Programming Principles in Scala, https://www.coursera.org/course/progfun

Learn about functional programming, and how it can be effectively combined with object-oriented programming. Gain practice in writing clean functional code, using the Scala programming language.

Course Syllabus

Week One: Programming paradigms; overview of functional programming and the Scala programming language. Week Two: Defining and using functions, recursion and non-termination, working with functions as values, reasoning by reduction. Week Three: Defining and using immutable objects, review of inheritance and dynamic binding. Week Four: Types and Pattern Matching. Week Five: Working with Lists. Week Six: Collections and Combinatorial Search. Week Seven: Lazy Evaluation.