Discover the principles of functional programming and learn to write elegant, purely functional code that works the first time it is run. This Specialization provides a hands-on introduction to functional programming using Scala, covering everything from basic building blocks to architecting larger functional programs. With a focus on parallel and distributed programming, you'll learn to analyze data sets small to large, from parallel programming on multicore architectures to distributed programming on a cluster using Apache Spark.
Certificate Available ✔
Get Started / More InfoFunctional Programming in Scala covers principles of functional programming, functional design in Scala, parallel programming, big data analysis with Scala and Spark, and a capstone project applying learned skills.
Understand the principles of functional programming and learn to write purely functional programs using recursion, pattern matching, and higher-order functions. Design immutable data structures and learn to combine functional programming with objects and classes.
Recognize and apply design principles of functional programs, including designing functional libraries and APIs. Learn to write simple functional reactive applications and understand reasoning techniques for programs that combine functions and state.
Learn the fundamentals of parallel programming, from task parallelism to data parallelism. Apply familiar ideas from functional programming to the data parallel paradigm and effectively parallelize familiar collections operations.
Manipulate big data distributed over a cluster using functional concepts, with a focus on Spark's programming model. Express algorithms for data analysis in a functional style, and recognize how to avoid shuffles and recomputation in Spark.
In the final capstone project, apply the skills learned by building a large data-intensive application using real-world data. Implement a complete application processing several gigabytes of data, involving data transformation, interpolation techniques, and interactive visualizations.
Best Practices for Mobile Development With Java provides essential skills to implement validation techniques in Java for mobile app development.
Fundamentals of Software Architecture for Big Data is a comprehensive course introducing the basics of software engineering for building and scaling large, data-intensive,...
Prepare for the Meta Certified Meta Spark Creator exam with this comprehensive course. Access study materials and resources to help you succeed in the exam.