Functional Programming Principles in Scala at Coursera
- Programming paradigms; overview of functional programming and the Scala programming language.
- Defining and using functions, recursion and non-termination, working with functions as values, reasoning by reduction.
- Defining and using immutable objects, review of inheritance and dynamic binding.
- Types and Pattern Matching
- Working with Lists
- Collections and Combinatorial Search
- Lazy Evaluation
More info: https://www.coursera.org/course/progfun