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:

51 - 75 of 514 Reviews for Functional Program Design in Scala

By Rachapong C

May 28, 2020

If you enjoyed the first course, you should enjoy this one. The excitement builds up as week 5 sees you writing (part of) a program that reacts to user interface input. Can't wait to see what the next course brings!

That said, week 3 with implicit type-directed programming was mind-boggling and I still don't think I understand it even after completing the week's assignment. Maybe all the interconnected object and class system is really too complicated but also maybe they could explain it a bit better.

By Roland F

Aug 30, 2017

Odersky does an excellent job explaining concepts and providing sound motivation for them. This course's content was definitely a level above the last course in the specialization, and some of the material seemed a bit disconnected, especially towards the end. It would be useful if there were maybe notes to go along with the course (or slides) so that we could refer back to them when doing assignments instead of having to look back at the videos.

By Vikram B

Dec 25, 2020

The assignments are tough but worth it. The last part of functional reactive programming is bit unclear and needs extra lectures. But the overall experience is good, and I feel much comfortable looking at Scala code. I really enjoyed the type directed programming section. It gave me new perspective to look at things. The water pouring problem is really challenging, I had to watch it five times to keep track of Prof. Martin Odersky.

By Trent O

Apr 1, 2017

A good course that touches on the basics of high-level concepts of Functional Programming, that could have been made better with homeworks that are more related to course material & more examples of concepts introduced in the course, either in homeworks or video.

I thoroughly enjoyed 2nd week material, simply amazing concepts & homework.

If I could give 4.5 stars that would be the score I will give.

By Michael W

Oct 18, 2017

This course was a more or less succsessful excerpt of the course "Reactive Programming in Scala" wich can still be found on youtube and in the net. The course only covers about 3 of the 7 weeks of the original course. But it seems to me that this first part of the reactive course was better than the other parts, that were tougt by other instructors. But, still a great course that tought me a lot.

By Chetan B

Sep 8, 2016

A wonderful course, and a great introduction to both functional programming and Scala language. It's high time that we start paying attention to Functional Programming paradigm, and thanks to Scala we can now use it in the mainstream production grade development.

I would highly recommend this course to anyone who is looking for a new (and likely better) way of thinking about programming.

By Morteza N

Feb 15, 2017

I really enjoyed this course. It's challenging and helps you develop a great functional programming mindset. I remember those classes I attended several years ago when I was struggling with learning Java, compare with that bad experience I could learn Scala just in 4 weeks much obliged to you Dr. Odersky and your colleagues that make learning process to be a breeze. Thank you!

By David S

Oct 29, 2019

This is a great course with a clear exposition of some of the more complex topics in FP such as Monads. However, I feel the treatment of concurrency left me with more questions than answers (though I also understand the next course will explore it in more detail). I would have also liked some more excercises about building a Scala program "from scratch".

By Sam S

Aug 29, 2016

Really enjoyed this course. Having had experience in functional reactive programming, the content wasn't overly in depth but it helped cement understanding of how functional patterns can be used in place of OO ones, as well as further the knowledge of Scala gained in the first course.

The content on streams and futures was particularly helpful for me.

By Diego R

Dec 4, 2016

This course is the best for learning the principles of functional programming. From my point of view exercises are a little bit difficult but they are really creative and make you strive for learning the concepts you need to apply in functional programming. The effort of doing this course is really worthy. Congratulations to the creators of it.

By Sam W

Feb 16, 2021

Brilliant introduction into some more advanced techniques and perhaps some unfamiliar topics to imperative programmers. Martin's explanations are careful and considered, and each topic follow logically from the last. My favourite section: FRP - such a great alternative to the usual Publisher/Listener pattern. Highly recommended.

By Andrew W

Oct 1, 2016

Another great course. It was a little more disjointed than the first course of the specialisation, the exercises did not allow you to really get to grips with the full range of material discussed in the course but that was largely because the scope of coverage was so large. Maybe the deep dive will come in the later course...

By Hasan K

Mar 25, 2017

perfect course and definitely recommended to everyone who wants to understand and learn not only Scala but also functional programming. Be aware that this course will give you the foundation and requires you to invest significant time to learn bits and pieces of functional programming and how those are implemented in Scala.

By Graham B

May 7, 2017

A well-paced and intellectually challenging introduction to the concepts and practice of functional reactive programming, with two AMAZING instructors (Martin Odersky and Erik Meijer)! Builds on Martin's equally excellent introduction to functional programming. (Pass this course and join Professor O and the xs-men!)

By Avinash K

Oct 1, 2016

Exceptionally great teaching by Professor Martin Odersky, I am right now wondering why his scala.react way of Signals approach is not adopted by any of the major UI platforms ... it makes lot of sense to me having worked in UI layer for a long time and understanding the mess that event driven architecture brings

By Massimiliano D

Nov 4, 2018

Excellent course, in line with the expectation after the previous course of the specialization. It appears evident that the teachers of the course are high quality professionals, with passion in what they are explaining.

I would strongly recommend the course to anyone who want to increase its programming skills!

By Chaitanya B

Aug 22, 2017

Course material and assignments difficulty level was much higher than first course. Some of the learning material seemed rushed and disconnected. But overall, the concepts taught were really important and this course has strengthened my knowledge of functional programming

By Janis R

Jun 23, 2016

Very interesting assignments! But I think the assignment instructions were incomplete for the last 2 weeks. (I left comments for those 2 assignments explaining what I thought was not mentioned (and, in my humble opinion, should have been mentioned) in the instructions.)

By Mykola D

Aug 14, 2016

This is a really nice class. I've been doing Java programming for a while. However, I was really impressed with the capabilities of Scala. This class made me think of programming in a different, much more advanced way than I've been able to do before.

By Vladimir P

Sep 8, 2017

I love it.

But I should say that the last practical assignment was hard. methods to be implemented are not documented.

I understood at the end, that only one method is part of object's interface. But I had to inspect the way UI part was implemented.

By Dmitry S

Jul 1, 2019

This is actually a very good course. There are some inconsistencies but it's actually good: when I fix them I have realized that I've learned more deeply. Anyway, this is a "must" course for someone who is learning Functional Programming Design.

By Deleted A

Jun 26, 2016

Sufficiently challenging to be interesting. This course(s) evolve(s) so there are some quirks in assignments/videos here and there, but it no a big deal really. Many thanks to authors and coursera team.

By Eleanna S

Mar 18, 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.

By elis s

Feb 12, 2022

It is one of the best courses and one of the most informing of all of them. If you want to learn a new programming language paradigm, like functional, this course is perfect for you.

By murmelssonic

Jul 15, 2016

Picks up where the previous course left off... the last assignment is a bit more challenging than the others, well for me it was. Thanks to the people who put the course together.