Functional Programming in Scala Specialization
This Specialization provides a hands-on introduction to functional programming using the widespread programming language, Scala. It begins from the basic building blocks of the functional paradigm, first showing how to use these blocks to solve small problems, before building up to combining these concepts to architect larger functional programs. You'll see how the functional paradigm facilitates parallel and distributed programming, and through a series of hands on examples and programming assignments, you'll learn how to analyze data sets small to large; from parallel programming on multicore architectures, to distributed programming on a cluster using Apache Spark. A final capstone project will allow you to apply the skills you learned by building a large data-intensive application using real-world data.
WHAT YOU WILL LEARN
- Write purely functional programs using recursion, pattern matching, and higher-order functions
- Design immutable data structures
- Write programs that effectively use parallel collections to achieve performance
- Manipulate data with Spark and Scala