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,244 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

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.

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!

Filter by:

126 - 150 of 1,615 Reviews for Functional Programming Principles in Scala

By Stanislau B (

Dec 12, 2019

That's was a great journey. My head was almost blasted on anagrams task. Did everything by myself without any cheating (google, git etc.), havnt look for possible decission on how to build algorythm, no read course forum. Prof Odersky give enough information to solve the issues in tasks. The only thing you need is to put it in right order in yur head. Thats why I'm twice happier today when I ended with 100% grade.

By Niklaas B v G

Jan 15, 2018

One of the best courses on Coursera. For me, only having background in programming in R and doing a bit of system administration and the like, it was quite challenging. I liked that!

It's a pity that solutions to the exams aren't discussed. I don't know how to organise the course to do so but I am sure I could have learned even more if someone had discussed the "optimal" or most elegant solution to the assignments.

By Lucian S

Sep 17, 2017

I like the course because it does teach the basics of Scala and FP and then one can work through the projects to apply the concepts. I have underestimated this course a little bit thus it toke me more effort than I anticipated but it worth finishing it. Now I appreciate more the people who managed to develop fluency in Scala or any FP language and it is a skill that I will continue to work on for myself, for sure.

By Jose F O

Aug 15, 2016

Although I have some experience with Scala and I been reading about the course it is challenging. It forces you to think functional. There is no other way to solve the assignments but doing them with a functional approach. Before you attempt this class you should have some knowledge about the language. The lectures are interesting. I never saw a better explanation of variant and co-variant than here is this class.

By Robyn K

Apr 11, 2020

Great course! Thank you professor Ordersky for designing and putting your course online for us. It was a great introduction to Scala but challenging when it needed to be, the lecture questions and homeworks captured the essential thought process behind functional programming really well. I would maybe move week 4's homework to week 5 since the material from week 5 covered some useful concepts for the homework.

By sanga l

Nov 23, 2016

What can I say, it is really great courses. it though you from basic even though not step by step but still can be followed by java programmer. I had difficult time to change the way of thinking at first and to to refresh my algorithm knowledge. Spend long night on the weekend :) will miss this course.

it is better you study in a group of people then it will motivates you more and do assignment faster.

By Alexander F

Mar 17, 2017

an exceptional course, taught by a master of both the theory and the practice. as an engineer with most of an undergrad computer science degree and a few years' industry experience, I found this paper consistently challenging but fair throughout. theoretical proofs and practical considerations are presented side by side, which helps to rationalize the choices in language design and programming model.

By Kostas S

Aug 30, 2016

Very good course. A bit fast paced for someone with no significant programming experience but as stated in the description this is not a beginners course. Nevertheless, the concepts are explained in depth in the lectures and the assignments which are quite challenging even for someone with good programming background provide great insight to the issues discussed in the lectures. Highly recommended.

By Oleksii H

Jun 14, 2023

That was a fascinating course in Scala and functional programming. As a student with a Java background, it was complicated to think in terms of functions, recursion, immutability, and so on. Scala is beautiful, it has powerful pattern matching, and I love the way, of decomposing objects with it. However, this is only the tip of the iceberg. I will take the following courses with joy and interest.

By Alin S

Mar 16, 2017

It was a great and rigorous introduction to the Scala programming languages. The assignments were very challenging but they provide a great learning experience. The contents of the course can make you a better programmer in general by exposing you to concepts from functional programming combined with those from object oriented that you will find yourself applying to other programming languages.

By Arthur M

Apr 14, 2018

Excellent course. I do not recommend it as a first-stop introduction to FP - I tried that and utterly failed. First, go away and read a Scala book and do the exercises (I recommend the ubiquitous read book "Functional Programming in Scala"). If you pass this course and are honest about submitting your own work, you will come out on the other side with a rock-solid foundational knowledge of FP.

By Atri B

Oct 30, 2016

I really liked the content and presentation of the course. I had to know Scala for another course at college and this was the perfect crash course. Also, it is being taught by its creator, so that's pretty cool. I liked the assignments too. However, the final assignment did not totally cover all the material for week 5 and 6, and was a bit of a disappointment. Great course overall.

By Mariusz K

Apr 6, 2020

Great course for starting with functional programming paradigm and getting to know Scala language. Lectures thoroughly explain both foundations of functional programming as well as basic Scala constructs. Assignments difficulty level is reasonable - they are not too easy but it is feasible to pass them using concepts presented in the lectures and hints from the course forum.

By Nagesh L

Dec 2, 2018

Very nice course to learn the scala programming language. Especuially who want to start and learn funtional programming like me. The instructor is very knowledged (he is a professor and an author of book). I am fully satisfied with this course. The assignments were challenging and had fun while doing this course. Whoever want to take, please don't think - just enrol and enjoy!

By Taufeq R

Dec 16, 2018

I really enjoyed learning from first principles of functional programming in this class with Prof. Martin Odersky. The direction from start to end is really well suited to beginners of functional programming and also well suited to students new to programming. This goes on show the genius Prof. Odersky is at teaching and developing an elegant language with his students.

By Varlamov A

Dec 2, 2021

I had a little of expirience in programming(3 month). So, It was not very simple. Good part of this course is the clearness and lucidity of exercises. I took another Scala course after that and there was a diificulty to understand what should I do.

In this course there is no such problem. The main problem here is programming, not analysis. Recomend this course to all.

By Francisco E B

Aug 27, 2018

Very good! Mr. Odersky is very didactic, his examples are clear, though the conceptual rigor of the course is very high.

The exercises were very carefully chosen to demand the use of the concepts seen in classes. And they are challenging, too!

I enjoyed a lot, even though the classes and exercises were time, intellectually and effort demanding.

I emphatically recommend!

By Jordan M C

Aug 23, 2021

Great Intro to both Scala and the Functional paradigm. Quite possibly the best intro to FP available, due to the combination of well structured lectures which tread the fine line of giving the student just enough information and guidance to infer solutions to the weekly Assignments, but not so much that the exercises themselves are anything approaching trivial.

By Roberto M

Jun 24, 2016

It is my first course on Coursera and I have to admit that it is brilliant. The provided material is very helpful, lectures are very interesting and theory is interleaved with practice. Assignments are good and sometimes tricky. The lecturer, Martin Odersky, is very clear in conveying his message and, last but not least, is *the* person from whom to learn Scala.

By Mykola S

Jun 8, 2017

Excellent course on Scala from the creator of this beautiful programming language. Very detailed and clear material explanation with many examples and stress on functional programming. I have learned a lot from this course both in terms of Scala language and programming in general. Will definitely continue with other courses in this specialization. Many thanks!

By Rohan J

Dec 25, 2016

This is a great course. I have been using scala for almost a year before starting the course. But still I have learned so much. I now understand so many concepts correctly. And I learned much about Functional Programming itself. It needs completely different thinking, which I didn't have before. Now I will complete other functional programming courses too.

By Ingo v L

Apr 7, 2017

Fantastic course, well-structured and -presented! I liked the presentation style, a combination of prepared slides, live hand-written annotations and live code examples. The exercises are broken down into easily digestible portions, so the Functional Programming apprentice isn't completely overwhelmed with the unfamiliar way of thinking about programming.

By Mike O

Apr 2, 2017

This is a really good course. I was impressed. Some of the problems I hadn't seen before so it made the course interesting, I had read a number of functional language books and thought this would be an easy give me but I wound up leaning a lot more than what I did from the books. The course gave me a far greater understanding of functional programming.

By Dmitrii P

Jun 21, 2016

Great introduction (or refresh) to functional programming paradigm.

The course is special because it is taught by Martin Odersky, the main developer of Scala programming language which is used throughout the course.

By the end, you will be able to use functional principles in your programming projects and you also will have Scala in your toolset, great!

By malhar j

Apr 27, 2019

Fantastic course for beginners to Functional programming. Slightly on the harder side if one is to understand all the details but still doable. Martin has done a fabulous job with the explanation. Very good and concise presentation (I'm quite surprised!) and decent assignments.

I would strongly recommend this course (although Im still not a fan of FP)