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.
Offered By


Functional Program Design in Scala (Scala 2 version)
École Polytechnique Fédérale de LausanneAbout this Course
3,291 recent views
Flexible deadlines
Reset deadlines in accordance to your schedule.
Shareable Certificate
Earn a Certificate upon completion
100% online
Start instantly and learn at your own schedule.
Coursera Labs
Includes hands on learning projects.
Learn more about Coursera Labs Intermediate Level
Approx. 33 hours to complete
English
Could your company benefit from training employees on in-demand skills?
Try Coursera for BusinessWhat you will 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 will gain
- Laziness
- Type Class
- Functional Programming
- Referential Transparency
- Reactive Programming
Flexible deadlines
Reset deadlines in accordance to your schedule.
Shareable Certificate
Earn a Certificate upon completion
100% online
Start instantly and learn at your own schedule.
Coursera Labs
Includes hands on learning projects.
Learn more about Coursera Labs Intermediate Level
Approx. 33 hours to complete
English
Could your company benefit from training employees on in-demand skills?
Try Coursera for BusinessOffered by
Syllabus - What you will learn from this course
11 hours to complete
For Expressions and Monads
11 hours to complete
10 videos (Total 164 min), 10 readings, 3 quizzes
7 hours to complete
Lazy Evaluation
7 hours to complete
5 videos (Total 80 min)
7 hours to complete
Type-Directed Programming
7 hours to complete
5 readings
1 hour to complete
Functions and State
1 hour to complete
6 videos (Total 72 min)
Frequently Asked Questions
When will I have access to the lectures and assignments?
What will I get if I purchase the Certificate?
Is financial aid available?
More questions? Visit the Learner Help Center.