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
7,464 ratings
1,505 reviews

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

AJ

Sep 24, 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.

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.

Filter by:

1176 - 1200 of 1,443 Reviews for Functional Programming Principles in Scala

By IURII B

Jul 12, 2017

Thanks

By Никита Л

Jan 15, 2017

Great!

By Ram v

Jul 11, 2016

superb

By Deleted A

May 28, 2016

Super!

By Gowthamvarma

Aug 23, 2019

Great

By Mohamed E B

Feb 21, 2018

great

By Yurii K

Oct 28, 2017

cool!

By snabel k

Aug 08, 2017

Great

By Igor

Jun 26, 2017

great

By Andrey M

Nov 20, 2016

Super

By Vladimir Z

Nov 03, 2016

Super

By Jie

Oct 13, 2016

cool,

By Mattia Z

Aug 21, 2016

Great

By Oleg M

Feb 05, 2020

Good

By Raghuwanshi, V

Sep 18, 2018

best

By Deleted A

Jan 01, 2018

nice

By Krasilov D F

Oct 11, 2017

cool

By Yaron D

Nov 09, 2016

Top.

By SHAHFAHED

Sep 30, 2019

Nil

By lzx

May 02, 2017

有趣!

By Damien F

Aug 14, 2016

Oui

By Sushmitha v

Nov 26, 2018

T

By Michael W

Oct 13, 2017

A

By Oren Z

Aug 09, 2016

T

By David S

Oct 07, 2016

Excellent intro course, but not without issues.

In general, pro's include reasonable length lectures, provided by _the_ leading expert in the field, and designer of the Scala language. Focus on functional programming techniques versus syntax nuance is a significant benefit - Scala is easy to get bogged down in. Pro's also include the fact that lectures have had at least some amount of post-production work done, and manage to make voiceover/slides/whiteboard consistent and coherent better than most similar online classes/tutorials.

The assignments are reasonable, and the time estimates of ~3 hrs each was about right on the average, at least in my case (senior programmer with deep background in C/C++, and just enough Java to be dangerous and dislike boilerplate).

Some drawbacks - there was no clear segue from "basic syntax" to "collections framework". That's _IMPORTANT_. In 20/20 hindsight, I would have benefitted from a big, bold slide before the first mention of "foreach" that said "stop here, go to the text, and skim the chapters on collections for 'foreach' and other common operations. This is a building block for everything to follow, and NOT unique to just lists."

The major factor keeping this from being a '5' in my mind were that the assignments didn't always make sense as written, and I had to go back and forth between the assignment writeup, the source code and the test cases to really sort out what was required. The assignments could become _much_ more effective if they were provided with more test cases, including expected FAILURE cases and not just bare minimal acceptance cases.