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,595 ratings
1,531 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

Oct 8, 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.

Sep 23, 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.

Filter by:

151 - 175 of 1,468 Reviews for Functional Programming Principles in Scala

By Arvind B

Jul 9, 2017

Enjoyed taking the courses and solving the assignments. The last one was a bit tough but other than that it was a good intro to scala. Might be challenging to people who've never read any other book on Scala. (I already had read martin's programming in Scala book) and this felt like good supplementary material.

By Korbinian K

Oct 14, 2016

Very well organized course! The material is systematically explained in Lecture videos and the exercises efficiently support the learning. The exercise checking with sbt works perfect and gives useful debugging hints. I recommend to set up Eclipse with Scala plugin since this IDE also gets used during Lecture.

By Sinisa C

Oct 21, 2020

Great course! From the creator of Scala. That is privilege not always possible. The difference with videos from trainers who learn Scala just to record their course is incomparable. I will definitely continue the specialization path after some time of reviewing and practising the knowledge gained in this one

By Peter N

Dec 12, 2016

Good brain trainer. A bit overloaded by math-theory examples, but obviously it's what could be expected for general introduction to any programming learning. This course well introduces basics for Functional Programming and will be good not only for Scala developers. Thank you to Martin and other creators.

By Marc K

Dec 11, 2016

Really good course! Well explained, focused on the important concepts and the lessons well chained together. Now, the assignments can take much longer than expected. There is a bit of a gap between the theory of each lesson and the amount of thought that one has to put to pass their respective assignments.


May 20, 2018

I really loved this course, I mean everything, nevertheless, sometimes I felt frustrated the way FP is different than Imperative programming, being used to it, at first it was some how hard, specially with immutable context, but at end, once you grasp the idea, everything falls in place as it should be.

By Timothée P

Jan 21, 2018

A very interesting course. Both functional programming and Scala were new to me. I had a hard time for several programming assignments, as the functional way is difficult when we are used to the imperative way. But this difficulty makes it only more gratifying when everything works. Thank you very much.

By Jiaxing L

Nov 26, 2017

Wonderful course in Scala. The programming assignments are fun and challenging. The course is probably too hard if you haven't programmed in static typing language such as Java, and contains a lot of stuff that seems only useful when you are more experienced, but the overall quality is still excellent.

By William H

Jul 6, 2017

Martin Odersky is an educator of note. But like all Olympians who make their sport look so easy and effortless, this expertise cannot happen without lots of practice. The grading exercises are crafted to give you that practice. An excellent course. Well done to the team that put this together.

By Jacobus H

May 6, 2020

Excellent course to start your journey on mastering functional programming. My review is, however, biased because I have been programming (with imperative languages) for many years. Irrespective of that I have learned new ways of reasoning and thinking that also aid my imperative programming skills.

By Lars G

Jan 14, 2021

A really nice opportunity for gaining a first insight into the principles and motivation aspects of functional programming using Scala.The exercises are well chosen and might bring back some memories of other exercises you had to complete during your previous education.Good job, Martin Odersky!

By Maksym S

Aug 9, 2016

This class is a great introduction to functional programming combined with object oriented programming and the combination of both gives you quite a lot of power. This part is not always taught in functional programming classes. As a great side effect you will get you quite acquainted with Scala.

By Yuan M

May 29, 2017

The course assignment is just brilliant. It guided me and influenced me to follow TDD pattern. The feedback I got after submitting each assignment focused both on the workability as well as syntax, I picked up a lot of best practices to write scala codes in the process. Really a great course!

By Fernando T

Aug 16, 2020

Excelente curso. O curso faz um longo desenvolvimento dos aspectos da linguagem e passa a intuição da construção das operações.

Não simplesmente um curso de prática, é um curso de entendimento mais profundo em que em alguns casos você tem pensar com lápis e papel antes de programar a tarefa.

By Brad F

Jul 15, 2017

This course was very well structured and taught the core principles of functional programming very well. I was able to take away many concepts and use them in the real world. I would highly recommend this course for anyone who wants to push themselves to code in a purely functional manner.

By futtetennista

Feb 13, 2017

I greatly enjoyed this course. I was already familiar with some FP principles but it was interesting to see scala's take on them. The weekly assignments were challenging and a lot of fun. I think I learned a great deal from this course and I'm looking forward to the specialisation courses.

By Pirooz C

Oct 10, 2016

The course provides a nice overview and introduction to functional programming and Scala. The weight of the material covered in this course is well defined for general programmers who want to learn functional programming and Scala. It will be a bit difficult with no programming background.

By Massimiliano D

Oct 31, 2018

High quality course. It accomplished to describe the basics as well as the most advanced features of the Scala languages, and how these features neatly and naturally mix together to allow the developer to write functional and elegant solutions to complicated tasks.

I highly recommend it.

By Mohan S

Mar 30, 2020

I had been knowing about functional programming since my college days. However, I had to unlearn them all and get the real feel of it in Martin's point of view. It is an excellent course !!

It is a great opportunity to learn the concepts from the professor Martin ! Thanks a lot :-)

By Jose A J C

Jan 4, 2020

This course is really good. The instructor explains very well all the concepts. This course has helped me not only to learn Scala but also to think in a different way of creating programs with the functional paradigm. I find some exercises difficult but they are useful for learning.

By Antonel P

May 7, 2017

I really liked this course, the way Mr. Martin Odersky structured and presented it. Some of the assignments were a bit difficult but in the end I am happy with the acquired level of scala and functional programming. Surely I will continue with the rest of the courses in this series.

By Miklós H

Mar 27, 2018

It was a bit difficult to switch from mutable data structures to immutable ones, and altogether I'm quite concerned with the performance tradeoff (which seems to be significant), but I like the brilliantly designed language syntax (even if it is extremely difficult to get used to).

By Jose M P R

Nov 13, 2019

This course is excellent. Martin Odersky is not only an expert in the matter (dah!, I know; he created the language!) but he is an outstanding teacher (that I didn't know until I started the course). He explains things so well, thoroughly but with simplicity. Extremely good stuff!

By Manoj S

Sep 21, 2016

Very good and interesting course certainly provides a good level of foundation for functional programming. The exercises are challenging and it did take me longer then 3 hour to complete the course work. Further I had to revisit the videos and get the additional reading materials.

By Michael N

Sep 8, 2016

Great Instructor and challenging problems. The exercises help to reinforce the ideas presented in the lessons and the weekly assignments force you to use the skills. I will say that the programming assignments seemed a bit harder than they needed to be to help reinforce the ideas.