Chevron Left
Back to Functional Programming Principles in Scala

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

7,472 ratings
1,506 reviews

About the Course

Functional programming is becoming increasingly widespread in industry. This trend is driven by the adoption of Scala as the main programming language for many applications. Scala fuses functional and object-oriented programming in a practical package. It interoperates seamlessly with both Java and Javascript. Scala is the implementation language of many important frameworks, including Apache Spark, Kafka, and Akka. It provides the core infrastructure for sites such as Twitter, Tumblr and also Coursera. In this course you will discover the elements of the functional programming style and learn how to apply them usefully in your daily programming tasks. You will also develop a solid foundation for reasoning about functional programs, by touching upon proofs of invariants and the tracing of execution symbolically. The course is hands on; most units introduce short programs that serve as illustrations of important concepts and invite you to play with them, modifying and improving them. The course is complemented by a series programming projects as homework assignments. 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 using the command line....

Top reviews


Sep 24, 2019

As expected Martin is awesome in explaining principle of functional programming. I have started reading the book as well to make sure I keep up with the knowledge which I have gained from this course.


Oct 09, 2016

Really good explanation by the instructor. Good assignments. The assignments gave a good insights into functional programming. I loved the way the problems were decomposed into neat smaller functions.

Filter by:

1251 - 1275 of 1,443 Reviews for Functional Programming Principles in Scala

By Gerard k

Sep 10, 2016

Good course, learnt quite a lot even as someone with some existing experience of Scala. The exercises were challenging but not too difficult and the estimated completion time is pretty much spot on. Just a shame that the automatic grader and verification systems are less than reliable on some of the exercises.

By Mark M

Oct 28, 2017

Excellent class but feels (and is) cut and pasted from previous incarnations. Sometimes the professor will reference something covered "last time" that was not covered at all. Coursera, it would only take a minimal effort to clean up these inconsistencies!!!

Still an excellent class that I strongly recommend.

By Andrew P

Nov 07, 2016

The course was good exercise, and Martin does a very thorough job of covering the topics of the course. I do wish the course focused a bit more on the assignment problems. There were some interesting problems to work on, and I don't think the discussion forums are a very helpful way of covering those topics.

By lu

May 14, 2017

Good introduction to functional programming using Scala! FP is quite different to imperative programming, it has a higher level of abstraction. I think every programmer should have some knowledge of FP. However, this is just a course to tell you some principles and not a comprehensive Scala course.

By Ярослав Р

Apr 05, 2020

Although I adore the use of SICP, gotta say that connections between some parts and lectures were a bit jumpy.

But overall it's a great intro into Scala and FP for those who knows nothing about both of them, and especially the latter: otherwise, this course might be a bit easy and boring to you.

By Gianfranco Y

Jul 05, 2018

Really challenging course that demands a lot of thinking and reasoning. Even though I got to finish it I think there were times the assignments were kind of hard and not need to be it, since applying the learned concepts to slightly simpler problems will get the same result. TLDR Good course

By Pedro P

Dec 08, 2016

In general is very good, but the assignments are sometimes extremely difficult. Also, assignments have questions that are ahead of the current week, they as things that were not included in the lectures, so you need to watch the lectures of the one week ahead to be able to understand them

By Nathan B

Sep 05, 2016

This course is a great way to start learning Scala and functional programming. Would have given five stars, but the coding examples were sometimes boring and difficult to take in. I would suggest using smaller examples to present material and making the full coding examples optional.

By Deleted A

Jun 19, 2017

Have a background in the subject before you take the class. I had to switch sessions because I had never taken a class in Functional Programming and found myself in over my head a few times. I really enjoyed the class once I had a better foundation in the concepts. Good Luck!

By Michael B

Mar 05, 2017

A word from old time programmer: More basics, fewer complex problems.

More stress onto the language constructs, control structures, functions, control abstraction ... rather than .. figuring out algorithms without having basic understanding how things can be done in Scala.

By Menno d B

Aug 03, 2020

The videos, especially the instructor, were very clear and very well-paced. The assignments were fun and challenging enough. The only improvement I could think of was the feedback provided by the auto-checking. Personally, I experienced trouble with this only in assignment 3.

By Marc V

Dec 14, 2017

Good introduction to Functional Programming concepts through scala.

It will be interesting review the practices with other students in order to see other way to solve the challenges.

Some of them put me at limit of my recursive programming.

I go ahead with the next course.

By Daniel W

Aug 22, 2020

Very precise and clear lectures with an emphasis on the structure of programs. I could only ask for a little more introduction to functional programming patterns for solving combinatorial problems, but working through the exercises will lead to that eventually anyway.

By Oliver K

May 14, 2017

This is a really good course to learn functional programming in scala. I felt the homework assignments sometimes to hard, but this is likely due to my lack of functional programming experience. More advanced programmers would probably welcome these challenges.

By Ricardo C

Jun 11, 2016

Specially on the last exercise, there is a bit of a distance between the classes and the challenges. Other than that, the course provides a very good introduction to functional programming at the same time as it introduce the scala language constructs and api.

By Kevin T

Dec 18, 2016

El curso tiene muy buen contenido, y ejercicios que te ayudan acomprender las clases, sin embargo la estructura de las clases y ejercicios no es muy buena, pues algunos de los videos explican conceptos que se requerian para resolver alguna tarea anterior

By Claudio B

Jun 17, 2017

This has been a really useful course focused on functional programming. I now feel like I understand a lot more about functional programming. The exercises are sometimes not completely clear but otherwise a great course from the very inventor of Scala.

By John M

Feb 18, 2017

Not a gentle introduction. Often guilty of appropriating cool programming concepts for its own pedagogy, which often simply dilutes the core principles. Despite that - a generally well-structured course with thought-out (and challenging!) assignments.

By Sanket D

Feb 02, 2017

Loved the course. Got to learn from basic the concepts of functional programming languages.

Good pace. Awesome level of assignments. Had to good time thinking the solution of the assignments.

Great way to learn a new language, thanks to the instructor.

By Borja B A

Dec 03, 2016

Great teacher. With some issues. I found a little bit confusing the first week installing instructions with lots of data. But it improves.

Exercises are surprisingly elegant. Not easy but once you with the functional way of doing it simple.

By diego d

Aug 04, 2017

Muy apropiado si sabes los principios de la programación funcional y tienes claros conceptos de programación. No se hacen muchas aclaraciones ni de sintaxis ni de semántica así que lo mejor es acompañar el curso con un manual de Scala.

By Chi-Chun C

Aug 02, 2017

Somehow, it's not easy to solve the exercise.

It really train your brain as well as your Scala skill.

Overall, it is a good course.

If the exercise can have more guidance, such as where I can find the key concept , it will be better.

By Yiming H

Jun 05, 2020

I have no prior experience of Scala or Java. The structure and content are very good but IMO the difficulty of the assignments is pretty high - usually require significantly MORE time than expected to complete and pass the test.

By Anton P

Jun 10, 2016

Good materials and challenging programming exercises. Makes you think. However some material is old and some new, so little confusing. Especially when going through the materials about installing the development environment.

By Adam B

Apr 17, 2017

The course is generally very good and met most of my learning objectives, but some of the assignments, particularly the last assignment, are more difficult than I would expect for an introduction to functional programming.