Chevron Left
Back to Functional Programming Principles in Scala

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

4.8
6,199 ratings
1,241 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

By RS

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.

By GB

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,178 Reviews

By Nilay Jain

May 20, 2019

great course. strongly recommended for software engineers who want to have good fundamentals about functional programming

By matthew dominguez

May 18, 2019

I learned a lot

By Olga Borzenkova

May 18, 2019

This course can crack you brain and it is awesome!

By Jan Berthold

May 17, 2019

Great course to understand the fundamental principles of scala

By Tomasz Kubat

May 16, 2019

Good way to learn by doing - assignments extend lectures and give additonal approach to deal with the all programming issues.

By Santiago Angée

May 16, 2019

This course was very useful for learning Scala the right way. Everything is perfect but, even for people as me with experience in big data, functional programming, and discrete mathematics, it was difficult to follow up on some exercises, especially understanding recursivity with set combinations or with 'for's with two variables(i,j). However, these very hard exercises were few. The other exercises are just hard, and there is not an easy exercise.

This is an advanced course for people with solid bases on discrete mathematics, data structures, algorithms, software engineering, compilers, and operating systems.

By Viraj Bhosle

May 14, 2019

Enjoyed the course! Functional programming is a different way of thinking about programs. Assignments helped to re-enforce the learning. Thanks to Coursera and the course staff !

By Shivraj Singh

May 12, 2019

This course is very helpful to me. I hope it also to you.

By Rahul Madhavan

May 06, 2019

great hard course

By Ankit Mishra

May 06, 2019

Very amazing descriptions of the course material, and if coupled with the book from Mr Martin, this is the best learning material for scala I have found yet.