JM
There's a lot to chew on here, and it's well-articulated. Some of the examples are a bit opaque and academic - a little more of a practical, intuitive approach would go a long way.
In this course you will learn how to apply the functional programming style in the design of larger Scala applications. You'll get to know important new functional programming concepts, from lazy evaluation to structuring your libraries using monads. We'll work on larger and more involved examples, from state space exploration to random testing to discrete circuit simulators. You’ll also learn some best practices on how to write good Scala code in the real world. Finally, you will learn how to leverage the ability of the compiler to infer values from types.
Several parts of this course deal with the question how functional programming interacts with mutable state. We will explore the consequences of combining functions and state. We will also look at purely functional alternatives to mutable state, using infinite data structures or functional reactive programming. 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 with using the command line. This course is intended to be taken after Functional Programming Principles in Scala: https://www.coursera.org/learn/progfun1.
JM
There's a lot to chew on here, and it's well-articulated. Some of the examples are a bit opaque and academic - a little more of a practical, intuitive approach would go a long way.
SL
Great course. seems like some things that were referred to during some of the lectures were missing and kinda left you waiting for more. Hoping they will be completed in future courses.
HL
Great experience with the assignments. Took some time to get understand all the course materials. Highly recommended. Still can learn a lot after reading fpins
RP
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!
BC
The introduction to functional reactive programming is well done. You go from the problem to the solution in a few lectures, and understand positive and negative aspects of the approach.
RR
Overall very good and somehow challenging course, however week 4 is a bit convoluted (E. Meijer referring to the nonexisting (in this edition of the course) previous video etc.)
VL
This course is quite difficult to me, especially the last section. I have to re-watch it so many time to fully understand. At the end of the day, it is worth the effort.
EM
Interesting concepts analyzed in through functional and scala toolset. I enjoyed the homework variety and I think more than few things can be applied in real applications
OS
Great class, though the content seemed less coherent than the first course. Topics tended to bounce around without enough deep dives into the more abstract ideas.
ES
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.
CP
Maybe an unfair comparison but I am comparing this with the principles of reactive programming. That had much more contents such as actors, etc. Having said that this is a good course by itself.
CU
This is a great course for guiding further study. Lots of the topics require outside material to really feel like you've got a minimal handle on the larger designs it's teaching.
Showing: 20 of 514
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.
The 3rd and 4th week were clearly improved upon since the last reviews noted a sense of disorganisation: now they are well structured and fit in well with the overall course. The course as a whole is well balanced and interesting!
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
Very boring and unorganized course. It feels like it is a mix of two older courses that no longer exist.
This almost made me feel like I was back in college, with those unbelievably boring lessons and project subjects from 30 years ago.
A sharp decline in quality and cohesion from the Functional Programming Principles in Scala course. It may be worth enrolling just to hear Odersky's elegant lecturing at work once again, but if you're interested in the core concepts, I would highly recommend picking up a highly rated book instead.
Mish-mash of everything. Disconnected lectures and assignments. Week4 is plain horrible - assembled from random lectures that refer to non-existing context. One hour of random lectures does a very bad job of introducing reactive programming.
This module as the one before (for which Coursera doesn't allow me to leave a review) is really "academic" like. That really means a lot of notion with no practical examples. Even the first module wasn't really explaining scala, it already starts like you are supposed to know it already. While in the description it was depicted as a beginers-like course. For instance, the lectures talk about the argument "A" and then the assignment is about "Z^2". One of the worst thing about the lectures is that you spend 20 minutes trying to understand a really complicated notion and then in the next minute he implements the same concept with less line of codes and also more optimised, so you have wasted all that time trying to understand an obsolete technique, why you didn't show me the optimised way immediately?! Lectures of 15 minutes that could be resumed with an internet search of 3 minutes. Definitely a waste of money, I completed the first one hoping to understand more in this one but what I got was just a huge waste of time and money.
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.
In fact, this is an inconsistent attempt of re-implementing previous FRP course from the same authors. FRP course had many issues about homework/lectures being poorly related, this one is even worse. This is very frustrating, as a topic itself is one of the most interesting ones in today's software engineering.
It is terrible compared to the first one: bad course structure, assignment mismatch, there is no mentioned of RxScala anywhere.
Scala is so different from traditional imperative languages, such as C++, sometimes it looks like magic to me from its compact but powerful expression. The hard part is the way of thinking is different. This course is from the father of the language, he explained insights of many ideas well. The homework is hard, but doable, if you put in some efforts, you feel you gain a lot. I love Scala.
Wonderful course by Martin Odersky himself. The content is awesome and the way Martin has explained the concepts in Scala 3 syntax and features is great. A course for every Scala developer.
In order to save time I will quote this other review By Abhinav P. that reflects 100% what I think:
"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."
This course is really disjointed. Unlike the first course in Scala Functional Programming specialization, this course is stitched together from bits and pieces of other courses. The lectures make reference to other lessons that no longer appear in the course, and the assignments frequently have nothing to do with the lecture material.
This course is evidently hacked together from pieces of other courses. Not nearly as well put together as the previous from the specialization which was excellent. The specialization could benefit from having this module reworked from scratch.
The presented material wasn't coherent for me, I didn't walk away with knowledge of functional design principles for larger/complex software. The topics presented seems just a bunch of topics next to each other.
Apart from the topics like Future and Stream, I haven't found it very interesting. The part on the Digital Circuits for instance for me was not relevant, given that I studied micro-eletronics and engineering.
There wasn't that much content to this course. I realise it was the result of some restructuring and the previous version might have been more complex, right now it seems very little content for the price.
Should really have been included in the first part of the specialization. Exercises were also not demanding enough and did not cover enough of the material in the lectures
The 3rd and the 4th Week courses need to be looked at as the Assignments and the video lectures are not in sync and many videos are missing. The 1st 2 weeks are good.