I recently followed the functional programming in Scala course on Coursera.
The session ran during about two months. There are almost 2 hours lectures in videos, and an assignment every week. It’s said to represent 5-7 hours of work every week. It turned out to be a bit more for me, I’d say around 10 hours/week. Which means it’s sufficient an amount of time, that you need to spare for it.
The course is a GREAT win. I’d been doing quite some functional programming in Lisp during my studies. But I wasn’t aware of the potential at the time, and have been programming in imperative style since. Discovering functional programming a second time feels like a bit like to be reborn. It’s such a fresh and stimulating approach, that it feels strange to deal again with say python or C++ back at work.
I didn’t register for the certificate, as I wasn’t wanting to claim anything. But I would recommend it: 69$ for a certificate for life is cheap. Besides such a training would probably cost 2000$ if given by a training agency.
Still, I’m happy to say that I obtained the maximal grade for all assignments at the first submission.
Massive Open Oline Courses (MOOCs) didn’t look impressive to me at first. But when I realized we really were ~50 000 registered students for the class, I started to envision the revolution MOOCs can be for education. Just look at Coursera’s business plan on Wikipedia.
Regarding Scala, I just love the language. I must be of the very few who do not come from a strong Java background. Again, C++ for instance looks like a prehistorical language in comparison. I really recommend to start learning Scala from the Coursera course, or from Odersky’s book, which both emphasize the functional approach. Take a look a Martin’s short presentation for a brief introduction.