Quora answer: How is Martin Odersky’s Functional Programming Principles in Scala Coursera course?
I listened to the first weeks lecture and although I had studied Scala before I had obviously not understood properly how it worked from the Functional Programming side. It kinda blew my mind when I realized how the Functional programming side worked. He does an excellent job of explaining it in such a basic way that one is able to absorb it better than all the other things I have read on Functional Programming. I recommend the course and am looking forward to the rest of it.
It is amazing how ones whole way of thinking about programming is based on the languages one has used, and it is difficult to grasp this functional programming change when one has been working and designing the other way for so long. However, listening to Odersky explain it in such a basic and simple way made a lot of sense, and one could see the power of that way of thinking more directly than all of the books I have tried to read on the subject. It is amazing what a difference good teaching makes for the understanding of things. What was good was that he did not skip any steps, he took a very basic idea and presented it fully so that one did not have to fill in any jumps from one idea to the next, as is the case with so many explanations of experts in a field. For me it was just what I needed to get me over the hump of understanding what is really different about functional programming and where its power comes from and how it differs from imperative programming in fundamental ways. I guess I became obsessed with monads and was distracted from the fundamental paradigm shift of functional programming which I did not really grasp completely until I saw his explanation.
—————
I am still taking the class and am on week 4 which means I am behind but it is still going on in the same vein as my post says. Odersky is an excellent teacher taking things very slowly and with a through exposition. I am still learning a lot about Scala, and have also started to learn about Lift the Ajax/Comet web environment. It is very interesting as well in its own way.
—————-
I finished this class. It was excellent.