Chevron Left
Back to Functional Programming Principles in Scala

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

5,782 ratings
1,174 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.


Sep 14, 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:

1,112 Reviews

By Raúl González

Jan 16, 2019

This one is tough (check the forums). Feels like a million bucks to go through with it. Sensei Odersky is the best!!

By Lenar Shagiev

Jan 15, 2019

Прекрасный курс для начала функционального программирования на Scala

By Малышев Илья Игоревич

Jan 15, 2019

It is very good course for understanding the main scala principles and functional programming.

By Ngoc-Bien NGUYEN

Jan 14, 2019

A very good course

By David Frenk

Jan 14, 2019

The course in general is kind of theoretical. Some of the homeworks are fairly challenging. I found it a useful companion to the Programming in Scala book, which I'm working through at the moment.

By Jude Ogbuibe

Jan 09, 2019

Absolutely amazing course, I've never enjoyed learning a new programming language as much as through this course. The programming assignments are challenging and interesting too.

By Saksham Ratra

Jan 07, 2019

Very Informational and In depth exlplanation

By Pere Miquel Brull

Jan 06, 2019

Really well explained, with thoughtful examples and labs that make your brain actually comprehend all the lessons.

By Tang

Jan 06, 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 Patrick Ross

Jan 02, 2019

Solid grounding in Scala fundamentals