Sep 15, 2016
This is a university degree course which takes enormous effort to complete. But still its beond the programming course range giving you whats not possible to google or learn practical way. Thanks!
Mar 18, 2018
Thank you for this exciting course! I did the FP in Scala course a few years ago and decided to do the full certification now. I am looking forward to the next courses in the specialisation.
by Abhinav P•
Dec 15, 2017
I was optimistic about this course based on the previous course, because that course was consistent, self-contained, and systematic. On the other hand, this course was clearly put together by throwing together, rather haphazardly, bits and pieces of other courses, some of which no longer even exist. This is outrageous; a course like this would never be taught at a prestigious institution like EPFL, and it is highly deceptive to give us a course, put together in a arbitrary, incoherent, Frankensteinish fashion, right after a course that was quite systematic and coherent.
Week one and two were not bad, hence why I gave two stars instead of one. But week three involves a programming project that has literally nothing to do with the lectures at all. To be sure, I didn't mind learning about Scala Check, but I had to do it pretty much entirely on my own; it was mentioned for about five seconds in the lecture videos. If I wanted to just read documentation without any actual teaching, why would I sign up for a course like this?
And week 4! Coursera/whoever put this course together isn't even trying anymore. The videos are clearly from multiple different courses, and Odersky himself makes references entire weeks worth of content that simply doesn't exist anymore. This is a damn mess. In its current state, the course is simply not worth publishing.
For what its worth, the removed lecture videos can be found here: https://www.youtube.com/playlist?list=PLMhMDErmC1TdBMxd3KnRfYiBV2ELvLyxN
But these videos do not contain the removed exercises/programming projects, unfortunately.
by Gabriel G C•
Jan 09, 2019
It seems that this course was partially updated, but it was not done in a seamlessly way. I think this course deserve a full remake, if possible with the same instructor all the time.
by Shaul E•
Mar 01, 2018
The course starts well and has really good exercises, HOWEVER at weeks 3-4 the lectures lose their logical order, it feels like a collection of random lectures from other course syllabus that have been "reused" here.
Week 3 exercise has very little to do with the lectures, and week 4 lectures are even worse, martin says he'll talk about 1 thing that is later not in the course, then we switch to someone else that talks about "things we've seen before" - which we haven't!
Don't get me wrong, you can still learn a lot from this and understand most of it, but it just feels very unprofessional, glad I've only audited this course and didn't pay for it, if that was the case I would feel very disappointed
by Илья Б•
Sep 24, 2016
At times instructions for problems are really vague. Every method should have comments or be test covered like it was in the first course. For example I had to spend some time, looking through the parser to discover that spaces in calculator expressions are mandatory. Technically it was in the description, but it was not clear at all and I was stuck with the idea that I'm doing something generally wrong so i had to write a whole test(that was kinda ad-hoc and not a good practice at all) to reach that tiny problem. Otherwise the course is really really great. It made me progress a lot in my scala skill, while keeping me interested in the problems and learning some new data structs ect. Keep up the good work!
by Rishi K•
Aug 10, 2016
Functional Program Design in Scala is one of the best courses for those who want to apply the functional programming style in the design of larger applications using functional programming concepts. This course is intended to be taken after Functional Programming Principles in Scala. It is a great course for those who want to explore into the functional programming aspect of Computer Science. The concepts are explained lucidly and the assignments are relatively difficult and help the individuals to apply the learnt concepts in an incremental manner. I was really excited on taking this course, and it has lived up to all my expectations from it.
by Owen E•
Sep 10, 2018
I think the exercises were a bit easier than the first component of the functional programming in Scala series, I did enjoy the difficulty of the first component. My least favorite part was the lecture videos on Futures in Week 4. The presenter is fine, but the style in which he is teaching is different from Martin's. Students often need to adapt to someone's teaching style, and I'm not sure if it's worth taking the time to developing a strategy for those ~ 30 minutes of lectures in week 4.
Anyway, I am enjoying the course so far. Thank you so much for providing this content to the public! You're heroes!
by Tom H•
Jul 31, 2016
This course sets out to teach from the ground up about various functional programming techniques and their uses. It manages to do just that in a very short time. The ideas are presented in Scala but apply just as well to most other languages. The last week, on functional reactive programming and asynchronous programming in particular can easily be transposed to modern front-end web development. The assignments are also interesting and well balanced.
I was familiar with most of the ideas, but this course gave me a better understanding of these.
I thoroughly enjoyed the experience.
by Joshua S•
Oct 31, 2018
Great opportunity to learn from some of the "rock stars" of comp-sci! The course builds on the concepts taught in first part of the series by careful illustration of their application to larger programming structures. The results are elegant expressions that convey the full intention of the programmer in a simple and concise manner, boldly declaring: "I am the solution to this problem." Really surprised in week 4 when Erik Meijer made an appearance as guest lecturer! Not only do you get to learn from Scala's architect, but from LINQ's as well.
by Roland F•
Aug 30, 2017
Odersky does an excellent job explaining concepts and providing sound motivation for them. This course's content was definitely a level above the last course in the specialization, and some of the material seemed a bit disconnected, especially towards the end. It would be useful if there were maybe notes to go along with the course (or slides) so that we could refer back to them when doing assignments instead of having to look back at the videos.
by Trent O•
Apr 01, 2017
A good course that touches on the basics of high-level concepts of Functional Programming, that could have been made better with homeworks that are more related to course material & more examples of concepts introduced in the course, either in homeworks or video.
I thoroughly enjoyed 2nd week material, simply amazing concepts & homework.
If I could give 4.5 stars that would be the score I will give.
by Michael W•
Oct 18, 2017
This course was a more or less succsessful excerpt of the course "Reactive Programming in Scala" wich can still be found on youtube and in the net. The course only covers about 3 of the 7 weeks of the original course. But it seems to me that this first part of the reactive course was better than the other parts, that were tougt by other instructors. But, still a great course that tought me a lot.
by Chetan B•
Sep 08, 2016
A wonderful course, and a great introduction to both functional programming and Scala language. It's high time that we start paying attention to Functional Programming paradigm, and thanks to Scala we can now use it in the mainstream production grade development.
I would highly recommend this course to anyone who is looking for a new (and likely better) way of thinking about programming.
by Morteza N•
Feb 15, 2017
I really enjoyed this course. It's challenging and helps you develop a great functional programming mindset. I remember those classes I attended several years ago when I was struggling with learning Java, compare with that bad experience I could learn Scala just in 4 weeks much obliged to you Dr. Odersky and your colleagues that make learning process to be a breeze. Thank you!
by David S•
Oct 30, 2019
This is a great course with a clear exposition of some of the more complex topics in FP such as Monads. However, I feel the treatment of concurrency left me with more questions than answers (though I also understand the next course will explore it in more detail). I would have also liked some more excercises about building a Scala program "from scratch".
by Samuel S•
Aug 30, 2016
Really enjoyed this course. Having had experience in functional reactive programming, the content wasn't overly in depth but it helped cement understanding of how functional patterns can be used in place of OO ones, as well as further the knowledge of Scala gained in the first course.
The content on streams and futures was particularly helpful for me.
by Diego R F•
Dec 04, 2016
This course is the best for learning the principles of functional programming. From my point of view exercises are a little bit difficult but they are really creative and make you strive for learning the concepts you need to apply in functional programming. The effort of doing this course is really worthy. Congratulations to the creators of it.
by Andrew W•
Oct 01, 2016
Another great course. It was a little more disjointed than the first course of the specialisation, the exercises did not allow you to really get to grips with the full range of material discussed in the course but that was largely because the scope of coverage was so large. Maybe the deep dive will come in the later course...
by Hasan K•
Mar 25, 2017
perfect course and definitely recommended to everyone who wants to understand and learn not only Scala but also functional programming. Be aware that this course will give you the foundation and requires you to invest significant time to learn bits and pieces of functional programming and how those are implemented in Scala.
by Graham B•
May 07, 2017
A well-paced and intellectually challenging introduction to the concepts and practice of functional reactive programming, with two AMAZING instructors (Martin Odersky and Erik Meijer)! Builds on Martin's equally excellent introduction to functional programming. (Pass this course and join Professor O and the xs-men!)
Oct 01, 2016
Exceptionally great teaching by Professor Martin Odersky, I am right now wondering why his scala.react way of Signals approach is not adopted by any of the major UI platforms ... it makes lot of sense to me having worked in UI layer for a long time and understanding the mess that event driven architecture brings
by Massimiliano D•
Nov 04, 2018
Excellent course, in line with the expectation after the previous course of the specialization. It appears evident that the teachers of the course are high quality professionals, with passion in what they are explaining.
I would strongly recommend the course to anyone who want to increase its programming skills!
by Chaitanya B•
Aug 22, 2017
Course material and assignments difficulty level was much higher than first course. Some of the learning material seemed rushed and disconnected. But overall, the concepts taught were really important and this course has strengthened my knowledge of functional programming
by Janis R•
Jun 23, 2016
Very interesting assignments! But I think the assignment instructions were incomplete for the last 2 weeks. (I left comments for those 2 assignments explaining what I thought was not mentioned (and, in my humble opinion, should have been mentioned) in the instructions.)
by Mykola D•
Aug 14, 2016
This is a really nice class. I've been doing Java programming for a while. However, I was really impressed with the capabilities of Scala. This class made me think of programming in a different, much more advanced way than I've been able to do before.
by Vladimir P•
Sep 08, 2017
I love it.
But I should say that the last practical assignment was hard. methods to be implemented are not documented.
I understood at the end, that only one method is part of object's interface. But I had to inspect the way UI part was implemented.