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

4.5
stars
3,130 ratings

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: https://www.coursera.org/learn/progfun1....

Top reviews

RP

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!

ES

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:

326 - 350 of 514 Reviews for Functional Program Design in Scala

By Harish k T

Nov 4, 2016

Some of the lectures were tough to follow. Huge disconnect between the course videos and the assignments. QuickCheck assignment was a waste of time for me. Calculator assignment is really good. No assignments related to Week4 course work is disappointing.

By Kaloyan T

Dec 21, 2016

Pretty informative course, even if the first one or two weeks used to the part of the Intro to Scala course. The 2nd part of the lectures in the 4th week seem really disconnected from the rest of the course and are introduced with very little context.

By Narthana E

Aug 29, 2016

The course is generally good, but it seems to be a bit of a hybrid of several different courses. Perhaps the videos should be updated so that references in the videos to "the next several weeks" in the last week of the course, don't confuse students.

By Zeb S

Jul 10, 2019

I suspect I am not alone in finding the fourth week of this course to be somewhat lacking. I agree with the majority of the feedback regarding the shortcomings of the final week; however, as a whole this was a fun course and I learned a lot.

By Atsuya K

Nov 6, 2017

A good overview of functional programming concepts just like the preceding course. I wish, however, there were more material on concurrent programming. I'd like to see lectures on concurrency by Martin Odersky sometime in the future.

By Ishan

Oct 22, 2019

Assignments 3 and 4 can be improved. They are a bit hard to get started with and at the end only require a handful of lines of code to implement. It does not match the learning outcome of the difficult topics taught in the lectures.

By Vinicius L

Oct 22, 2017

The course is awesome... but I got myself a little lost when changing from Martin to Erick. Sometimes changing is good, by as a personal choice, I prefer the way Martin exposes the content so for me, the learning process is better.

By Hanneli T

Aug 28, 2017

The content is great and very practical. Most of the lectures are very clear and easy to understand. The only downside that I notices was during the week 4, where the explanation of Future and how to use it was kinda disconnected.

By Pawel M S

Oct 23, 2016

Very good and well-paced course. I'd give 5/5, but there are parts that seem to be missing -- lecturers refer to videos that aren't part of the course (or the previous one: Functional Programming Principles in Scala). Overall 4/5.

By Majid H

Oct 22, 2016

Great course overall. It looked though as if some of the lectures were cut and pasted from some other course into the content and were not as coherent as they could be (particularly the case with the last week's material on FRP).

By Aneesh D

Apr 6, 2018

A great follow up to the previous course. The planned content is great but the last week goes too fast and the last part about Future is very inadequate to understand Futures well. Also please add more content on Monads.

By Hristo I

Nov 2, 2016

The course is very good overall, except for the last week (Week 4), which includes videos from a completely different course and feels really like a mash-up of unrelated topics (they are not! it's just the presentation).

By Oleg D

Nov 8, 2017

Last week is awful. It is better to skip what another lecture tells on futures, this will not be used in the assignment or in further courses. And this material is better studied from other sources. Otherwise it is Ok!

By Aleksandr P

Dec 17, 2016

The course decsribes several ideas in functional way of thinking: Streams, Monads, Reactive Programming. By the way, looks like course is compiled from several pieces that are completely disconnected from each other.

By Wojciech M

Feb 12, 2017

A very good course (4.5 in my eyes) the only thing for me that was lacking straight after previous course was a bigger difficulty between videos and programming excises. But maybe that's my lack of Scala experience.

By matt h

Jan 25, 2017

The course is good, but not as splendid as the first in the specialisation. The difficulty has apparently skyrocketed, while some videos from week 4 seems to be missing, making the lectures difficult to understand.

By John W

Aug 15, 2016

Saw the application of some functional programming in the course. It was pretty cool, but it was a bit random. I wished we could learn more advance topics of functional programming, such as Category Theory.

By Chinmay V P

Jun 28, 2016

Maybe an unfair comparison but I am comparing this with the principles of reactive programming. That had much more contents such as actors, etc. Having said that this is a good course by itself.

By Bill C

Apr 19, 2017

The introduction to functional reactive programming is well done. You go from the problem to the solution in a few lectures, and understand positive and negative aspects of the approach.

By Francisco E B

Dec 23, 2018

There were some discontinuity in the last week. The classes appear not to be from the same planning, and the teachers say about classes that are not in the course. It should be revised.

By Shiri L

Nov 1, 2016

Great course. seems like some things that were referred to during some of the lectures were missing and kinda left you waiting for more. Hoping they will be completed in future courses.

By John M

Feb 18, 2019

There's a lot to chew on here, and it's well-articulated. Some of the examples are a bit opaque and academic - a little more of a practical, intuitive approach would go a long way.

By rand(23)

Nov 22, 2016

Overall very good and somehow challenging course, however week 4 is a bit convoluted (E. Meijer referring to the nonexisting (in this edition of the course) previous video etc.)

By Oleksiy R

Nov 20, 2016

Less material and practical tasks than in the first Scala course, also some bits about Reactive programming were just taken from other course, but not fully, just partially!

By Owen S

Jun 3, 2017

Great class, though the content seemed less coherent than the first course. Topics tended to bounce around without enough deep dives into the more abstract ideas.