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,036 ratings
520 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:

451 - 475 of 503 Reviews for Functional Program Design in Scala

By Brian B

Aug 24, 2016

The course in general is not as good as Martin Odersky's first course, but it still has interesting bits to learn about functional programming.

Everything topic feels very disconnected to each other.

Lastly, the last part of the course is specially disorganized. I didn't feel like the assignment captured everthing that was taught.

By Bruno F

Aug 20, 2017

Material in the first few weeks was taught well and went together with the first course in the track.

The latter part of the course was not taught in such great depth and was not examined in the exercises either.

Consider making the first course longer and dedicating the whole of this course to the material in the latter half.

By Mikko S

Dec 5, 2016

I was expecting this course to be more challenging than Functional Programming Principles in Scala but found this one easier in the end. The assignments were ok but I felt like they could have been more challenging and also that they should have tested my understanding of the course contents more thoroughly.

By Alan A

Aug 30, 2019

I have the sensation that this second part is not so well explained as the first one.

Week 3 was confusing. The assignment is not related to the video contents.

Week 4 was confusing too. The mix between Martin and the other guy's videos is weird. Also I expected much more reactive stuff.

By Andy D

Dec 15, 2016

A daily demanding course, which could have benefitted from more time spent in some areas - particular signals. The video explaining a sample Signal implementation was very rushed and provided too little detail on a lot of information that seems to be taken for granted.

By ravi c

Jul 29, 2017

Very hard to follow due to unsequenced lessons. Had a tough time with the exercise QuickCheck because I was not solving the problem. I have devising test cases to verify the solution. Rest of the content was good, but reactive lesson was quite short to start with.

By Jacopo P

Jun 4, 2017

At times, this course looks a patch work of videos without a clear continuity. It is a pity that one week has no assessment at all and the last week mostly on "Futures" does not assess them. Also it would have been nice to have a snapshot on Actors

By Lucas F

Oct 19, 2016

The course needs a reboot. Some parts were merged with other and the whole thing lacks continuity. A few examples were poorly chosen. For instance, signals / reactive concepts would be easier to understand in user interfaces or graphics / games.

By Pedro P

Jul 19, 2017

week 4 course "timely effects" with Erik Meijer videos are very hard o watch, the background and the slides are very distracting. Did not learn much with those videos, I had to resort to other sources to learn about lazy evaluation and futures.

By Luis V

Jan 10, 2018

Good but not less quality that the other courses in the specialization.

The course seems a little messy and with lack of focus, it is obvious that it is the result of cut and paste of other courses... may be to fit with Coursera restrictions??

By Patrik M

Apr 21, 2019

I've enjoyed some lectures. But overall, this course was less educative than the first one in the Scala specialisation. I do appreciate Erik Meijer as a professional and a scientist. But, in my humble oppinion, he is not a great lecturer.

By Juan F O

Oct 6, 2016

The topics are great, the material is not really polished: the lectures are from previous courses and they reorganised material without redoing anything, which is needed in several points. Many explanations could be improved greatly.

By malhar j

Apr 27, 2019

The course was good but not as good/detailed as the first one. Martin did an excellent job as usual though. I felt the course content was interesting but got very dull towards the end. The assignments were not really challenging.

By Saurav G

Oct 10, 2016

Decent course, except in the last week it felt a bit stitched together from parts of a previous course and a new one. The jump in flow seemed abrupt and the relevance of some of the contents (regarding Future's) was not clear.

By Sebastián S C

Feb 4, 2018

I found this course thanks to Lightbend but I was sad to realice that a lot of content from the previous course has been took down. Actors, RxScala or Akka streams are missing and where in some sort present before.

By James T

Aug 24, 2016

Much of the lecture material seemed very chopped-up from previous courses and did not flow well at all. In a couple of cases the assignment had very little relationship with the course material from the same week.

By Lukasz S

Nov 25, 2016

Videos from previuos version of the course Reactive programming in Scala makes this course worse prepared. I had impression that it was made rushed from shredded pieces. Assignements are easier than previous

By Juan S P R

Nov 5, 2017

The lab for the third week was unrelated to the material, and the fourth week is a bunch of videos from the previous course of reactive programming in Scala. Nothing like the first course of Scala

By Viktor K

Mar 4, 2017

Too much of the content is already contained in the courses "Functional Programming Principles in Scala" and "Principles of Reactive Programming". Would be nice to have some new assignments.

By Carlos M d C T

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