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

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.

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 - 25 of 1,193 Reviews for Functional Programming Principles in Scala

By

Jan 20, 2019

I find this course to be too academic. It's difficult enough to wrap your head around a new language and paradigme, there is no need to complicate things by using mathematical exercises and assignments. I'm sure this could have been done using much more common use cases and examples.

By Tom Y

Dec 27, 2018

The course was quite good all in all, and even though I'm already experienced with many of the aspects involved in software engineering in general and in functional programming in particular, I've followed it with much interest and gained some new perspectives. And it's been a great introduction to Scala (a language I had not written code in before).

The teaching is very good! Prof Odersky's explanations are very clear and go into the right level of detail, and the exercises and assignments are interesting and seem to be well thought out.

I personally would have liked the course to be deeper, both in explaining functional programming (e.g. the monad pattern) and in covering more advanced features of Scala (e.g. the less trivial parts of the type system), but I guess the given course is OK as an introduction and I can also go look for the stuff I'm missing in other courses and/or outside Coursera.

Two minor things that damaged the experience to a little extent and which I would recommend to improve for the future: 1. The technical introduction was good enough to get me started, but did not cover some problematic aspects which had me stuck for a long while (it was also very difficult to solve by googling, and a colleague of mine - who's also taking the course - ended up solving it by chance). Specifically I'm talking about worksheets not working properly unless created within a package directory, and for some things unless set to a certain mode of execution (non-REPL). Disclosure: I haven't looked for solutions in the course forums; it's possible that this was asked and answered, or that I could have asked and gotten an answer there. 2. The videos were poorly edited: some bits repeated, some clips were obviously recorded for a specific week number but then given in another week, some parts had obviously been there originally (and other parts referred to them) but then they didn't make the final cut... It's a pity that an otherwise very well made course suffers from such small technical problems, which, while not too grave, cause confusion and increase the mental load the learner has to cope with - which is already laden with challenging stuff - with such non-important and easily avoidable distractions.

Thank you!

By David F

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 Pere M B

Jan 06, 2019

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

By Joe H

Sep 05, 2018

Generally excellent! Reading around other online introductory resources the difference in clarity from the creator of the language, Martin Odersky in this course is very clear. I feel I have a good base to continue my learning from. To make it even better as an introduction I would have liked 3 things. Firstly more examples and exercises. along with the more challenging ones, more correct vs incorrect examples exercises, to reinforce the theoretical understanding that is so clearly present. This would translate more quickly into practical coding skills. Secondly some more tips on the development environment, specifically how to get the debugging tools working. Lastly, updating the code base to the lastest versions of Scala and SBT, so there are no deprecation warnings when building. Having said all that, I'm really happy to have found this course and excited now I've completed it to continue my learning of Scala.

By Diego

Sep 29, 2017

Very interesting course, it totally changes your mindset from imperative programming. Basically it teaches you to think in terms of recursion instead of loops. Although some assignments can be difficult (and take several hours), they are helpful to understand the concepts and challenging as well so they keep you engaged to the course. Besides, the lectures are very clear and designed to give some hints on the assignments. Since Scala is based in Java, previous knowledge of Java is an advantage, but not a must. However, previous programming knowledge is a must in my opinion.

All in all, a very recommendable course to take.

By Aneesh D

Sep 23, 2017

A great course. Functional programming really is a different way of thinking about programming and this course does justice to all of its core concepts. The assignments are very well structured and teach all the best practices of the paradigm.

By Darren B

Aug 13, 2017

This course helped me significantly. There is very little in the way of AFFORDABLE Scala Education out there. This is a problem. There are endless educational resources for Python. Scala has a lot to offer programmers if only they knew where to find adequate educational Resources for Scala.

Make learning Scala easy enough for a 12 year old to learn and you will see it explode.

Make Scala, Easy ! Make Scala, Fun ! This is essential to opening the young minds interested in Computer Programming.

Also!

Why isn't there a native Graphic Scala Lib like Python's Tkinter?

Not everybody wants to be a "Big Data" Mining Engineer.

If Scala can produce graphics from the Java Swing library and experimental ScalaFX graphics lib, then isn't it time for Scala to have it's own native Graphic Library that is at the least as capable as Tkinter for Python.

There is no better feeling than the liberating emotion you get from creating programs, games and Apps on your own PC. Let the Power of Scala out.

Make it easy enough for Kids to learn and get out of the way!

By Patrick S

Jun 23, 2019

Excellent course for getting yourself familiar with the basics of Scala.

By Miguel E S R

Jun 23, 2019

super pretty

By geogreen

Jun 22, 2019

Good stuff. Challenging, informative and learn from first priciples. The professor is rather experienced he knows his stuff. I recommend, try it out.

By Amey J

Jun 13, 2019

This is a remarkable course in which the creator of the Scala programming language not only teaches the language but also offers deep insights into the theory of programming and computer science.

By Bright S

Jun 10, 2019

Good explanations, but gets difficult fast! Several videos I had to watch multiple times.

By Bayron A C E

Jun 10, 2019

Excellent course

By Ishan

Jun 10, 2019

The course develops the concepts of functional programming from scratch. With fun and challenging programming assignments, it gives ample opportunity to wrap your head around the alternate paradigm.

By Ankur S

Jun 08, 2019

Great course for introduction to functional programming

By JayanthKumar K

Jun 08, 2019

The Course was superbbb.

By Edouard C

Jun 05, 2019

It was a good introduction to Scala for me. The video are precise and concise. The assignment are made for you to apply the concepts seen in the videos, but they remain challenging and fun to do!

By Fred P

Jun 03, 2019

A lot of fun, and though taking this course for review, I came upon a number of explanations that deepened my prior understanding of concepts and techniques.

By Mumtaz

Jun 03, 2019

This is my very first course on Coursera and thanks to their scholarship Program which make me enable to learning from world top faculty in the field of Computer Science. It is like a dream comes true and you will surely feel like you are physically taking the lecture at EPCL ( École polytechnique fédérale de Lausanne / Swiss Federal Institute of Technology Lausanne). I would highly recommend this course even if you know nothing about functional programming like me. Keep in mind that the instructor of this course is the designer of the Scala language and who would be the best teacher other than the designer itself. Additionally, EPCL is world's top 22 and 8 in general and computer science subject ranking by QS Top Universities 2019.

By Arnoud H

Jun 02, 2019

Bit chaotic at the start. Later some nice functional programming paradigms and scala internals.

By Philipp W

Jun 02, 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 :)

By Malick C

Jun 02, 2019

Excellent introduction to functionnal programming

By Nilay J

May 20, 2019

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

By matthew d

May 18, 2019

I learned a lot