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
8,230 ratings

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, Netflix, Zalando, 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, such as modeling business domains or implementing business logic. 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 of programming projects as homework assignments. Recommended background: You should have at least one year of 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 background in mathematics (e.g., algebra, logic, proof by induction). Last, you should have some familiarity with 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!

RS

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.

Filter by:

201 - 225 of 1,611 Reviews for Functional Programming Principles in Scala

By Andrés G

May 6, 2018

It is very well organised and it goes pretty deep on such things that worth to understand well (how the collections work under the hood, for instance) and it also mentions covariance, which, for me, is very important and is also really helpful how it works compared to java.

By Saurav R

May 31, 2017

Assignments helped me understand the course topics well.

The description of problems in assignments are good.

Providing complete logs of the submitted assignments is helpful. Also, test cases suite for each assignment played an important role in solving/understanding problems

By Saul A P A

Aug 15, 2022

This course has subjects explained i a very simple fashion however it touches some advanced topics, some others require problem solving using especial styles like immutability and recursion, because of that it may be a better fit for some with at least 1 year of practice.

By Krishna A

Jun 12, 2017

A great introduction to functional programming fundamentals. The exercises are just at the right level to emphasize the course material and aid in assimilating the content. This course focuses on FP, and not on Scala, though it uses Scala for teaching the concepts of FP.

By Isaac S

Feb 13, 2017

This course is a great introduction to functional programming for beginners since it provides entertaining exercises where you can experiment many different approaches to the same problem. The explanations are easy to follow since they are shown using intuitive examples.

By Сорокин В Н

Jan 3, 2022

Интересный и полезный курс Единственно, в некоторых задачах было почти физически больно реализовывать решение по предложенной схеме из-за неэффективности. Пример: экспоненциальная сложность в вычислении элементов треугольника Ньютона из-за предложенной схемы рекурсии.

By Fredrik M

Mar 18, 2018

The lectures are good and it is easy to follow along. We learn exactly what is in title of the course: functional programming principles. I won't say I got very good at Scala with this course, but I certainly got more mindful about what functional programming is about.

By Alfie H

Mar 22, 2023

4.5. A great introduction to function programming with Scala. Nice to pair with the book Functional Programming Simplified by Alvin Alexander which goes into the **why** of functional programming at lot. Excited to see what else EPFL has in store for future courses

By Eric P

Feb 26, 2017

This is a great course. I was new to Scala but had previous programming experience with functional programming but I could learn a lot. The lectures are very interesting, the examples are great and the assignments' level of difficulty are at an appropriate level.

By MAGDELENAT P

Jun 22, 2016

Excellent! Would just like to get Martin's solutions (not for the solution but for the explanations that lead to the solution) cause even though I passed it I am not sure that all my decisions were that good :-). Anyway a must have if you're into FP and/or Scala!

By Erick H

May 27, 2017

I really loved this course. It was very challenging but every assignment was rewarding. Assignments were set up well and easy to submit (right from the command line). Learning how to code the functional way has really changed my perspective on coding in general.

By Kristofor K D

Feb 19, 2017

Great course with a very in depth look at functional programming principles and specific Scala implementation details. It may have been a little maths heavy in the examples and assignments but the videos were interesting and concise and the instructions clear.

By Peppe D G

Mar 25, 2018

Excellent course. Challenging and engaging. The course is a mix of programming, logic and maths. Professor Odersky is engaging while delivering very rigorous lectures. The programming assignments were challenging but very enjoyable.

Highly recommended.

By Dave C

Mar 10, 2017

There are other courses to help you learn Scala (LinkedIn is a great resource) as an enterprise language. I felt the real benefit here was on the focus on learning to approach problems with a functional programming mindset with scala just being a tool.

By Max S

Feb 3, 2020

While pretty specific to Scala it stays general enough to give valuable insights into functional programming in general. Additionally lots of specifics and reasoning about Scala and functional programming in particular is given that I found very good.

By Martin K

Feb 17, 2018

Very nice course to grasp the fundamental parts of functional programming. Also a very good introductory course for Scala that focuses on understanding the internal implementation of Scala's components such as Lists, etc. I definitely recommend it !

By Seshakumar

Jun 7, 2020

This was an eye opener to the world of functional thinking. This course teaches Scala not just as a programming language but as a gateway to functional paradigm. Thinking of usual declarative algorithms in a functional sense was challenging and fun.

By Niko G

Aug 20, 2016

It was a pleasure attending Scala lectures. Recently I have started implementing spark jobs at my workplace so the knowledge gained in this course has been very valuable and applied right away to solve real-world problems. Big thanks to Mr. Odersky.

By Saurabh P G

Feb 28, 2017

I would like to thank Prof. Martin Odersky and his support staff for putting up such a great course. All the sessions through out the course are very well planned and to the point. It is really great course for beginners to Scala world. High Five!

By Paul K

May 4, 2021

Excellent course to get started with Scala and make start with learning a completely different way of thinking (I have a Java background). The assignments are difficult, but doable, and finishing this course gave me a great sense of accomplishment

By Tang

Jan 6, 2019

suggests for those who have at least one or two years of programming experience, some homework are much harder than your typical coding interviews. But it's really rewarding, because it's hard, and when you finally get it right, it's all worth it.

By Juan C V A

Mar 12, 2017

I really enjoy this course, Martin was very precise on how explain and teach each topic. Topics were easy to follow and understand. Practices and assignments help me to handle and understand functional programming. I like to recommend this course.

By Allison L

Sep 12, 2018

Super accessible; a good primer for those who aren't super comfortable with functional programming. I think that it is well-organized and helped me refresh on several things (I previously took an introductory OCaml class and needed the practice).

By Jonathan P

Jun 25, 2017

Great course and the challenging exercises are ones you will find in University level programming courses. When I learned C++ I was presented similar data structures and algorithms that Professor Odersky used in his tutorial videos and exercises.

By Jean-Francois T

Jun 14, 2016

Though learning deeply a language is always a challenge, this lecture focuses on constructs that makes Scala functions and exhibits good exercises to use recursions and functions.

This is, I think a good start to become a good scala developer