Chevron Left
Back to Functional Programming Principles in Scala

Functional Programming Principles in Scala, École Polytechnique Fédérale de Lausanne

5,879 ratings
1,189 reviews

About this 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 09, 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.


Aug 13, 2017

An excellent introduction to the concepts of functional programming that had the "side-effect" of getting me hooked on the language! (Even though the hipster in me really wanted to prefer Clojure.)

Filter by:

1,129 Reviews


Feb 17, 2019

Course is excellent , I Which is no surprise given the fact that Martin Odersky is one of the original developers of the Scala language. The assignments are really good, specially Huffman coding and Anagram combinatorial search !

By John Sloboda

Feb 17, 2019

Really well made course. Maximum learning to time investment, good explanations at the right level of detail, and good balance of engagement to instruction.

By 佟铁

Feb 15, 2019

good, help me learn the functional programming.


By Dmytro Shyryayev

Feb 10, 2019

I think this is very good course: it does introduce into a lot of details and aspects of programming in scala and the same time it give some task, that are very unique but can be applied to real life project. Explaining source code of "List" construct is also very valuable and shows the power of the language. I am very glad that I took this course.

By Khalid F. Al Khalili

Feb 07, 2019

An excellent and challenging foundation course in functional programming.

By Alexandre da Silva

Feb 07, 2019

Almost finishing and I can see the course is really iterative and the teacher is really high level.

By JIm McGroddy

Feb 03, 2019

This was an excellent course - I learned a lot!

By Anders Hennum

Feb 03, 2019

A very good introduction to functional programming!

By Alexey Shapovalov

Jan 30, 2019

Extremely difficult, but by the end you will have mastered the fundamentals of Scala and Functional Programming.

By 陈张昊

Jan 30, 2019

The course is well structured and intellectually stimulating, and provides a solid introduction to functional programming. Recommend it!