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

4.8
stars
7,524 ratings
1,514 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

VP
Sep 13, 2018

It took me much longer than expected to finish the course and sometimes it made me feel stupid and helpless. Diving into functional programming was a mind bending experience, totally worth time spent!

AJ
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:

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

By S D Z

Aug 5, 2019

I thought this course was really hard. The lectures are 1-2 hours of video every week and the assignments are very challenging. Some of the videos are in the wrong week. Wish case classes were better explained. I learned SO SO SO SO SO much though. This is NOT a course you can zip though. I thought I would do it in just 7 days...NOPE!!!!

By Eric M

Aug 11, 2016

The material was fantastic, but the lectures seemed to be a bit basic in comparison to the actual coding assignments. Even after understanding the martial covered in the lectures it felt at times as if the coding assignments were drafted against an entirely unrelated topic (or at least by someone with a completely different approach).

By Leonhard R

Apr 5, 2018

Great for getting started, all the assignments can be solved in reasonable time and help in really understanding the concepts.

Some parts of the course materials are a bit outdated though (e.g. the project files for the last assignments don't work out of the box, you have to fix the path to the text file containing the words)

By Zeb A

Jun 13, 2017

The concepts in this course are essential to understanding scala. However, I feel as though the instructor (Dr.Odersky) doesnt properly prepare students for the assignments present in the course with his materials. FP in scala (red book) is far better at teaching these concepts once you learn the basics from the videos.

By Sean L

May 27, 2017

Very good overall, although it gets too abstract too early with the material in Weeks 3 and 4, before become more concrete again in the final two weeks. I would have reordered that material, placing the Scala Collections API material before the discussions of how Scala's object-oriented and functional aspects interact.

By Deleted A

Feb 5, 2018

It is a good course. However, what I find missing is having real world examples instead of trying to solve something libraries have solved. I understand the effort is to understand the concepts and data structures, but this could be done in a nicer way too. Including some real world examples could be quite helpful.

By Gonzalo R

Nov 16, 2017

The pace of the course is greate anda the excercises are challenging yet affordable. A little more clarity in some aspects of the excercises would be appreciable. Also, I would have liked to get a "best" or "correct" result after I passed each excercise to check my solution against someones with more experience.

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 7, 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 5, 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 4, 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 8, 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 4, 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 5, 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 3, 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 17, 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.