Chevron Left
Back to Functional Program Design in Scala

Learner Reviews & Feedback for Functional Program Design in Scala by École Polytechnique Fédérale de Lausanne

3,091 ratings
526 reviews

About the Course

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. Several parts of this course deal with the question how functional programming interacts with mutable state. We will explore the consequences of combining functions and state. We will also look at purely functional alternatives to mutable state, using infinite data structures or functional reactive programming. Recommended background: You should have at least one year programming experience. Proficiency with Java or C# is ideal, but experience with other languages such as C/C++, Python, Javascript or Ruby is also sufficient. You should have some familiarity with using the command line. This course is intended to be taken after Functional Programming Principles in Scala:

Top reviews


Sep 14, 2016

This is a university degree course which takes enormous effort to complete. But still its beond the programming course range giving you whats not possible to google or learn practical way. Thanks!


Mar 17, 2018

Thank you for this exciting course! I did the FP in Scala course a few years ago and decided to do the full certification now. I am looking forward to the next courses in the specialisation.

Filter by:

476 - 500 of 512 Reviews for Functional Program Design in Scala

By Deleted A

Jul 30, 2017

The quality of the explanations is inferior to the first course.

But I feel I could pass the Assignments without mastery of the topics.

However, would take this course again.

By Evgenii S

Aug 8, 2017

Course is not well formed.

I received full grade for second assignment doing nothing.

It will be great if you attach lectures from Reactive Programming at least as optional

By Viton V

Oct 23, 2016

On the positive side: The content was very interesting.

On the negative side: The course was not particularly well structured. The last week was quite difficult to follow.

By Ivan K

Apr 8, 2018

Last (4th week) is awfully designed, includes a lot of "scratch the surface" material, very bad explanations of futures and background. With authors redesigned 4th week.

By Pavel O

Jan 21, 2020

Some stuff was weird, like the quickcheck task, too much weird syntax, hard to understand what's going on, especially because there was no explanation for binomial heap

By Oleg O

Jun 23, 2017

Weird mix of disorganized materials. Manner of teaching of Erik Meijer is really annoying. Course "Functional Programming Principles in Scala" was much better

By Pascal S

Nov 27, 2016

Learned quite a bit, but course was not as good as the first course of the specialization.

Especially the presentations in week 4 are rather messy.

By David P

Jan 5, 2017

Thoroughly enjoyed the lectures by M. Odersky! Unfortunately the lectures on Futures seemed a bit disconnected from the rest of the material...

By Santiago S L

Oct 12, 2018

Course is fine from an "standard" industry standpoint. However, I would have loved more monads and harder concepts related to category theory.

By Fernando G

Jul 13, 2016

Interesting, but a little bit too easy and shallow.

The material was reused from other courses without making it all fit together well.

By Nathan L

Oct 13, 2016

Was quite good but getting less and less useful, too abstract, lacking detail. Examples too academic, needs to be more practical.

By Alfonso M F

Dec 19, 2016

Week 3 assigment had little relationship with the material presented in the course. Week 4 needs quite a lot of polish...

By Yuan L

Feb 16, 2017

The last week has materials that nothing related to assignment, and it jumps a bit fast where i have no clue at all

By Nicolas C

Jun 1, 2016

Most of the content was included in Functional Programming in Scala and Reactive Programming Principles in Scala.

By Tran V

Jan 13, 2022

The material is really good. However, the teaching style is very boring and the audio's quality is not so great.

By Bidhya N S

Apr 2, 2019

The course is not structured well. Also concepts like monads and functors are not covered in detailed way.

By David S

Dec 20, 2016

Meh. Very basic intro; not the more advanced class I anticipated, based on the first in the sequence.

By Damien F

Dec 3, 2016

The videos were a bit confusing and gave me the impression that it was a patchwork from old lectures.

By Peter H

Dec 30, 2018

Course material seems to be combined from two old courses, and some materials are not well prepared.

By Roger L

Aug 9, 2017

The examples & exercises were too academic. Just glad to complete it. Found it extremely dull.

By Mayeul M

Sep 5, 2016

Not as useful as the first course. The part on the futures is not really understandable.

By yassine a

Nov 3, 2017

not bad , but very short and not huge plus value compared to first course

By Gabriele A

Oct 1, 2019

Good course but not much coherence between lessons and exercises.

By mostafa n

Apr 29, 2017

nice course but i was expecting more about actors and futures

By Andrew Z

Sep 5, 2016

The main difficulty of the task does not apply to the course