Chevron Left
Volver a Functional Programming Principles in Scala

Opiniones y comentarios de aprendices correspondientes a Functional Programming Principles in Scala por parte de École Polytechnique Fédérale de Lausanne

8,185 calificaciones

Acerca del Curso

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....

Principales reseñas


23 de sep. de 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.


13 de sep. de 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!

Filtrar por:

151 - 175 de 1,597 revisiones para Functional Programming Principles in Scala

por James R H

10 de feb. de 2017

Very interesting introduction to functional programming and Scala. The assignments are a bit tough/abstract at first with the home-made data structures, but things get more grounded by the end. Odersky's lectures vary between nuts-and-bolts and headier stuff, but they're all delivered in a clear, organized, and subtly enthusiastic fashion.

por Doug F

29 de jul. de 2020

Wonderful course. It is a really challenging university level course if you don't cheat and try the homeworks yourself. I would say most programming assignments take 3hr minimum and some can take a few days if you are not awesome at functional principles (assuming you are not if you are taking this course). Loved it, highly recommend.

por Tien N

6 de ene. de 2020

This is a very good course with good materials, clear explanation and challenging exercises. This course best fits learners who are already experienced with an imperative programming language (like Java/C++) and have good knowledges in basic/intermediate algorithm concepts (such as back tracking, combinations, complexity analysis, etc).

por Johannes S

18 de mar. de 2017

Nice introduction to functional programming and learning how to think about problems in a different way. Learnings are not tied to just Scala - I also think I did not learn that much of the Scala syntax during the course. I enjoyed the exercises and the course material was good which encourages me to continue on to the next course.

por Iurii L

12 de feb. de 2021

The course could be very interesting for those, who have not been thinking of solving problems in the way Functional Programming approaches problems. You will learn how to implement a solution based on immutability principle and how to compose and work with higher-order functions and practice a lot with Scala, having a lot of fun.

por Anurag S

12 de jul. de 2016

I had a decent understanding of Scala going into this course but after solving the programming problems and watching the lectures, I think I've improved my understanding of the core principles behind the language and functional paradigm. I'm looking forward to taking my skills to the next level with the next course in this series.

por Razvan V

26 de jul. de 2017

The course, except minor things that can be solved in the forums or online, is very well done. It feels like a real university course, you will succeed only if you put your mind at work. Not only the language principles are explained but the reasons behind are sometimes given. What do you expect from the creator of Scala itself?

por Aditya L

26 de jul. de 2017

An amazing course. It brought out the elegance of functional programming beautifully (=> step by step at reasonable pace).

And the assignments were extremely well designed that suited the purpose.

I feel more problems on recursion should be made available (not necessarily for assignment) but for brushing up recursive algorithm.

por Philipp W

2 de jun. de 2019

Even though i took a version of this course back in 2013 outside the (later introduced) Scala specialization the course material did not loose its relevance and i very much enjoyed solving the assignments with an evolved functional mindset. Another big plus: Martin Odersky's lecturing style is very clean and comprehensive :)

por Accumulator

28 de ago. de 2017

Learned concepts of programming that I never knew of before. Really gives you insight into how elegant solutions are supposed to be created.

Would recommend to anyone wanting to expand their perspective on programming as a whole, if they haven't already explored functional and object-oriented programming working hand in hand.

por Fabrice C

15 de abr. de 2017

Concise and clear - the concepts were well presented and the assignments really helped drive the point home without being too big in scope (no assignment took me more than 4-5 hours total but I still learned a lot doing them). I feel like this was a solid time investment and look forward to the other courses in the series!

por Patrick B

26 de feb. de 2021

This course was very hard, but therefore also really worth it! The OOP aspects (Polymorphism) made the material a bit harder to understand, because sometimes the definitions of operatiosn were spread around different classes. But for practice, one needs to now how to combine OOP with FP, so it was a really good exercise.

por Vlad N

11 de feb. de 2017

Course is very intense. Good knowledge of Scala/Java indeed needed for solving the assignments. But the topics were cool: functional programming combined with oop principles and a hybrid of those turned to pattern matching. Every class can be compressed, every object is a function. Absolutely top drawer of programming!

por Martin O

27 de nov. de 2016

This course provides an excellent introduction to Functional Programming and is expressed elegantly via the Scala programming language. The concepts introduced will make you a better programmer in other languages. For example, JavaScript provides many of the same constructs which allow for a functional programming style.

por Glendon K

8 de may. de 2018

Well taught in nice increments. After going through Functional Programming in Scala twice with some difficulty I tried this and it's clarified a few basic things that are taken for granted in there. Scala isn't the easiest language to read (and I've used some pretty cryptic DSLs) but this makes it easy. Amazing course.

por Allyson D d L

20 de abr. de 2022

Amazing course. After this course, Scala is my new favorite programming language.

The assignments are very challenging but it's good to practice.

Functional Programming is so powerful, I want to practice more and more.

The only bad thing in this course is that we can't download the programming demos shown in the videos.

por Vikram B

28 de sep. de 2020


The course is really challenging and force you to think in a functional way. It's hard for people who come from imperative programming background, but the effort is worth it. Thanks for the wonderful assignments, I couldn't get it right for the first few times but having gone through the lectures again helped me.

por Matthew V

28 de sep. de 2020

This course did a great job of pragmatically demonstrating principles in functional programming. The assignments demonstrated the ways Scala is intelligently designed with these concepts in mind, and the lectures were aptly suited. I particularly liked how well the course incrementally introduced the syntax of Scala.

por Marco M

28 de nov. de 2016

I really like this course, a bit hard as I'm working and I have a child, hence I reduced my self doing it late in the evening and my math skills where a bit rusty. But surely interesting and opening the mind on functional programming and its different approach. after many years or pure Java a fresh breath. Thanks

por Arvind B

9 de jul. de 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.

por Korbinian K

14 de oct. de 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.

por Sinisa C

21 de oct. de 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

por Peter N

12 de dic. de 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.

por Marc K

11 de dic. de 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.


20 de may. de 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.