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.
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!
Sep 06, 2017
I really feel that the assignments were out of sync with the content of the lectures. Occasionally it seems that you needed to watch all the videos in order to go back and complete assignments that should have been done already. It was very confusing without a background in the material. I liked the lecture material a lot, but feel the assignments should have been more connected.
By Alvaro V•
Jan 28, 2017
The assignments took me so long. It was supposed to be 3 hours but, got obsessed to have them ended ok, but in 15 hours nearly. I would recommend to build up from very basic stuff, and as the learning advances, going into more difficulty.
The hints for the assignments were valid in the the last lesson, but for another lesson, I think lesson 4, there was no hint.
By Knut P M•
Mar 17, 2017
If looking only at what is being taught in this course, it's quite good. And I can heartily recommend it.
The lecture videos are extremely monotonic! Which makes it _very_ hard to keep focus and pay attention. It feels like hypnosis sometimes. Several colleagues have the same experience with this course. Which is why I'm only giving it 3 stars.
By Antonio A•
Oct 13, 2017
The points covered are interesting and useful, with an insight on Functional Programming. However, for newcomers on functional programming, the assignments are a bit too far from the videos or lack the instructions needed to complete them in 3 hours. Some hints for the toughest parts would be very much appreciated.
By Daniel Z•
Jan 10, 2020
1)lecture slides in text format would be a great thing - to review smth you have to scroll through the video every time
2) some of the content is outdated - there are a lot of method demonstration that are currently deprecated
3) It would be great to see Java vs Scala syntax comparison more
By Francis T•
Apr 16, 2017
The course is not really about Functional Programming, but more about Scala in general. I've learnt much more about FP by reading Learn You a Haskell for Great Good by Miran Lipovača, and Functional Programming in Scala by Paul Chiusano and Rúnar Bjarnason
By Ilya O•
Jul 11, 2016
The only attractive thing in this course is a name of the author. The course itself is poorly designed, homework is hardly connected to the content of lectures. Might be interesting as an introduction for Scala newcomers, though.
By Derian P T•
Jul 14, 2019
Instead of teaching Scala syntax, it focuses on teaching functional programming logic and conventions, which makes it a very challenging course. If you are looking for an introduction to Scala, this is not it.
By Rishab K B•
May 13, 2020
By Andreas R•
Apr 25, 2020
I have the feeling that Scala is a language that may have a nice logical consistency, but is far too much overloaded with symbols and possibilities for achieving exactly the same thing in different ways. I think you can appreciate this course if you have a background in theoretical computer science, but for all others who choose the course to learn Scala as a language without academic interest, that is just confusing.
A Scala beginner can also not appreciate how elegant and concise the produced code is and that you can put the meaning of hundreds of lines of imperative code into only a few lines of functional code (without side-effects!). For a beginner, it is more important that you can still read and understand your own code two weeks after finishing this course.
From other coursera courses, I am used to getting the course material (slides, example code) as a download, either linked in every week's curriculum or in the course overview resources section. For this course, I was not able to find it and have manually typed the exercises during the lectures. If it is actually there and I just could not find it, consider this statement pointless.
Concerning the tools setup, I have the impression that the descriptions in the beginning of the course are very detailed, however quite outdated. I ended up following a guide on installing sbt from here https://www.scala-sbt.org/1.x/docs/Installing-sbt-on-Windows.html and have used it with Visual Studio code.
Another thing that I at least did not catch in this course was how to actually create, deploy and run a simple Scala command line application. Do all people ever just use the IntelliJ IDE worksheets? The problem could also be that I do not have a Java background and am missing some knowledge that is obvious to all others.
By Marco C•
Sep 18, 2020
I expected something different from a "Principles" course. It is expected to have a Computer Science background and the assignments are not easy at all. I mean, they don't need to be stupid, but they can be really frustrating for a novice (since i thought this course was for novice students). Lessons are ok, but i really hate that the teacher doesn't give the examples and you have to write them by your own, slowing down the pace of your learning.
By Pritesh S•
Jun 02, 2020
There is a big disconnect between lectures and assignments. It seems like there is a mix and mash of materials from different sources. Had the instructor and EPFL team put more efforts into the support resources, it could have been much better. I really liked the videos from Weeks 1 and 2, but then the later week videos seemed inconsistent.
By Miguel A F G•
Oct 06, 2020
I have a proficiency in Python and R and I think it is very difficult to use the ItelliJ for the first time. I would like some guidence in order to know how to use correctly the IDE. I get so many errors and I do not know what does so many things about programming in this lenguage or Java. A bit dissapointed...
By Jason J•
Jun 09, 2020
Most basic setup instructions for the dev environment do not work as described or at all. Linked external instructions are not clear. I would have been better off trying to learn FP in Scala on my own.
May 24, 2020
Presentation: instructor reads the presentation, adding no value to it other than a few words, scribbles, and obvious comments about what you just can read yourself. This slows down the progress.
Required Level: sometimes lectures feel more math theory than functional programming. This is distracting and serves no purpose. I wonder how people without math background would do if they have to learn / refresh what peano axioms are, how to implement huffman encoding algorithm while learning a fresh new language, etc. There's a reason why the first piece of code in every new language is the Hello World. As someone proficient in several development languages, I always learn the algorithm first, and then look for the implementation.
Parallelism: the course fails to establish a parallelism with OO languages in the relevant aspects, so people coming from other languages like Java and C# can really understand what's different in functional programming. There are shallow references when talking about primitives or classes and objects, but nothing serious. I wonder why the course requires proficiency in a previous development language if this wasn't the purpose.
By Kirt U•
Oct 17, 2020
I have long since learned that the autocoders utilized are probably the worst pieces of software ever written. You would expect world class people to have long since fixed them. I submitted correct code but it was rejected and with ridiculous comments (like objecting to a return statement in an if-else statement in a recursive implementation [ex: if (xsAux.isEmpty) return num]. I no longer have time for such idiocy.
By Thiago M d O•
Oct 01, 2020
Not the best way to start in Scala. Course content is a bit outdated, and relies heavily on algorithms to teach, which is not something expected when someone is trying to learn a new language. It has some good lectures, but it is definitely not a beginners course. I won't continue the specialisation, as there are better ways to learn. Even Odersky's book is more polished and more up to date.
Aug 21, 2020
The intro says "will be using Eclipse" then it tells you how to load it into Intellij IDEA. I have spent two days on the intro assignment without yet getting it to work. The class documentation is sorely lacking and sbt /scala versions are old.