In this course you will learn how to apply the functional programming style in the design of larger Scala applications. You'll get to know important new functional programming concepts, from lazy evaluation to structuring your libraries using monads. We'll work on larger and more involved examples, from state space exploration to random testing to discrete circuit simulators. You’ll also learn some best practices on how to write good Scala code in the real world. Finally, you will learn how to leverage the ability of the compiler to infer values from types.

Functional Program Design in Scala (Scala 2 version)

Functional Program Design in Scala (Scala 2 version)

Instructor: Martin Odersky
Access provided by Emirates Development Bank
Gain insight into a topic and learn the fundamentals.
11 reviews
Intermediate level
Some related experience required
3 weeks to complete
at 10 hours a week
Flexible schedule
Learn at your own pace
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
Tools you'll learn
Details to know

Shareable certificate
Add to your LinkedIn profile
Assessments
3 assignments
Taught in English
See how employees at top companies are mastering in-demand skills

There are 5 modules in this course
Instructor
Instructor ratings
(5 ratings)
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."
Explore more from Computer Science

École Polytechnique Fédérale de Lausanne

École Polytechnique Fédérale de Lausanne

École Polytechnique Fédérale de Lausanne

École Polytechnique Fédérale de Lausanne

