
Functional Programming in Scala Specialization
Gain next-level skills with Coursera Plus for $199 (regularly $399). Save now.

Functional Programming in Scala Specialization
Program on a Higher Level. Write elegant functional code to analyze data that's big or small
76,263 already enrolled
Included with
Get in-depth knowledge of a subject
5 months to complete
at 10 hours a week
Flexible schedule
Learn at your own pace
Get in-depth knowledge of a subject
5 months to complete
at 10 hours a week
Flexible schedule
Learn at your own pace
See how employees at top companies are mastering in-demand skills

Advance your subject-matter expertise
- Learn in-demand skills from university and industry experts
- Master a subject or tool with hands-on projects
- Develop a deep understanding of key concepts
- Earn a career certificate from École Polytechnique Fédérale de Lausanne

Specialization - 5 course series
![]()
What you'll learn
Understand the principles of functional programming
Write purely functional programs, using recursion, pattern matching, and higher-order functions
Design immutable data structures
Combine functional programming with objects and classes
Skills you'll gain
Category: Scala Programming Category: Functional Design Category: Programming Principles Category: Object Oriented Programming (OOP) Category: Data Structures Category: Algorithms Category: Computer Programming Category: Computational Thinking Category: Unit Testing Category: Integrated Development Environments
![]()
What you'll learn
Recognize and apply design principles of functional programs
Design functional libraries and their APIs
Write simple functional reactive applications
Understand reasoning techniques for programs that combine functions and state
Skills you'll gain
Category: Scala Programming Category: Functional Design Category: Data Structures Category: Java Category: Performance Tuning Category: Algorithms Category: Software Design Patterns Category: Software Design Category: Programming Principles

What you'll learn
Skills you'll gain
Category: Algorithms Category: Scala Programming Category: Data Structures Category: Performance Tuning Category: Scalability Category: Functional Design Category: Distributed Computing Category: Java Programming

What you'll learn
Skills you'll gain
Category: Apache Spark Category: Big Data Category: Distributed Computing Category: Scala Programming Category: Data Manipulation Category: Data Processing Category: Data Analysis Category: Data Persistence Category: SQL Category: Performance Tuning

What you'll learn
Skills you'll gain
Category: Scala Programming Category: Data Processing Category: Visualization (Computer Graphics) Category: Apache Spark Category: Interactive Data Visualization Category: User Interface (UI) Category: Geospatial Information and Technology Category: Big Data Category: Real Time Data Category: Data Manipulation Category: Heat Maps Category: Data Transformation Category: Geospatial Mapping Category: Spatial Data Analysis
Earn a career certificate
Add this credential to your LinkedIn profile, resume, or CV. Share it on social media and in your performance review.
Instructors

École Polytechnique Fédérale de Lausanne
6 Courses235,844 learners

École Polytechnique Fédérale de Lausanne
2 Courses104,351 learners
Offered by

Why people choose Coursera for their career

Felipe M.
Learner since 2018
"To be able to take courses at my own pace and rhythm has been an amazing experience. I can learn whenever it fits my schedule and mood."

Jennifer J.
Learner since 2020
"I directly applied the concepts and skills I learned from my courses to an exciting new project at work."

Larry W.
Learner since 2021
"When I need courses on topics that my university doesn't offer, Coursera is one of the best places to go."

"Learning isn't just about being better at your job: it's so much more than that. Coursera allows me to learn without limits."
Frequently asked questions
Time to completion can vary based on your schedule, but most learners are able to complete the Specialization in 4-5 months.
Each course in the Specialization is offered on demand, and may be taken at any time.
At least one year of programming experience is recommended. Proficiency with Java or C# is ideal, but experience with other languages such as C/C++, Python, JavaScript, or Ruby is also sufficient.
More questions
Financial aid available,


