École Polytechnique Fédérale de Lausanne
Functional Programming in Scala Specialization
École Polytechnique Fédérale de Lausanne

Functional Programming in Scala Specialization

Program on a Higher Level. Write elegant functional code to analyze data that's big or small

Martin Odersky
Prof. Heather Miller
Prof. Viktor Kuncak

Instructors: Martin Odersky

74,818 already enrolled

Included with Coursera Plus

Get in-depth knowledge of a subject
4.6

(6,921 reviews)

Intermediate level

Recommended experience

5 months
at 10 hours a week
Flexible schedule
Learn at your own pace
Get in-depth knowledge of a subject
4.6

(6,921 reviews)

Intermediate level

Recommended experience

5 months
at 10 hours a week
Flexible schedule
Learn at your own pace

What you'll 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

Details to know

Shareable certificate

Add to your LinkedIn profile

Taught in English

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
Placeholder
Placeholder

Earn a career certificate

Add this credential to your LinkedIn profile, resume, or CV

Share it on social media and in your performance review

Placeholder

Specialization - 5 course series

Functional Programming Principles in Scala

Course 156 hours4.8 (8,251 ratings)

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: Computational Thinking
Category: Algorithms
Category: Computer Programming
Category: Functional Programming
Category: Programming Principles
Category: Functional Design
Category: Software Design Patterns
Category: Javascript
Category: Scala Programming
Category: Object Oriented Programming (OOP)
Category: Software Engineering
Category: Data Structures
Category: Immutable Data Types
Category: Higher-Order Function
Category: Recursion

Functional Program Design in Scala

Course 235 hours4.5 (3,136 ratings)

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: Algorithms
Category: Computer Programming
Category: Performance Tuning
Category: Parallel Algorithm
Category: Data Structure
Category: Functional Design
Category: Distributed Computing
Category: Scalability
Category: Scala Programming
Category: Computer Science
Category: Data Parallelism
Category: Data Structures
Category: Parallel Computing
Category: Java Programming

Parallel programming

Course 332 hours4.4 (1,844 ratings)

What you'll learn

Skills you'll gain

Category: Functional Programming
Category: Geospatial Mapping
Category: Data Manipulation
Category: User Interface (UI)
Category: Web Applications
Category: Spatial Data Analysis
Category: Heat Maps
Category: Scala Programming
Category: Apache Spark
Category: Interactive Data Visualization
Category: Data Transformation
Category: Big Data
Category: Parallel Computing
Category: Data Visualization Software

Big Data Analysis with Scala and Spark

Course 427 hours4.6 (2,593 ratings)

What you'll learn

Skills you'll gain

Category: Algorithms
Category: Referential Transparency
Category: Performance Tuning
Category: Functional Programming
Category: Software Design
Category: Programming Principles
Category: Type Class
Category: Software Design Patterns
Category: Functional Design
Category: Event-Driven Programming
Category: Scala Programming
Category: Java
Category: Reactive Programming
Category: Object Oriented Programming (OOP)
Category: Data Structures
Category: Laziness

Functional Programming in Scala Capstone

Course 532 hours4.4 (546 ratings)

What you'll learn

Skills you'll gain

Category: Apache Hadoop
Category: Scala Programming
Category: Data Analysis
Category: Performance Tuning
Category: Data Manipulation
Category: Data Processing
Category: Apache Spark
Category: Big Data
Category: Distributed Computing
Category: SQL

Instructors

Martin Odersky
École Polytechnique Fédérale de Lausanne
6 Courses233,541 learners
Prof. Heather Miller
École Polytechnique Fédérale de Lausanne
2 Courses103,244 learners

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."
Chaitanya A.
"Learning isn't just about being better at your job: it's so much more than that. Coursera allows me to learn without limits."

New to Software Development? Start here.

Placeholder

Open new doors with Coursera Plus

Unlimited access to 10,000+ world-class courses, hands-on projects, and job-ready certificate programs - all included in your subscription

Advance your career with an online degree

Earn a degree from world-class universities - 100% online

Join over 3,400 global companies that choose Coursera for Business

Upskill your employees to excel in the digital economy

Frequently asked questions