Functional Programming Principles in Scala Course Review

Posted on Mon, 24 Oct 2016 in Reviews

This fall I finished "Functional Programming Principles in Scala" Coursera course. This course is a part of specialization "Functional Programming in Scala." It's 6 weeks long introduction to Scala and functional programming.

Author of this course is Martin Odersky, Scala language creator. He is a great scientist. Nevertheless I felt sleepy watching his lectures. Actually there is nothing wrong with his lectures. I thing it's better to change way to pass the course: first try to solve the problem from programming assignment, then watch the lecture covers that topic.

The structure of the course is straightforward. First week covers basics of Scala and difference between imperative and functional programming. Rest weeks cover topics such: high order functions, traits and classes, types and pattern matching, and of course how to deal with lists and other collections in Scala.

Every week of the course is ended up by programming assignment. Mainly they aren't difficult. However, some assignments require more effort if you want to get the best mark. Note that if all local tests are passed, it does't mean that all tests will be passed on Coursera server.

There are more tests, there than you have in assignment templates. I strongly recommend adding additional tests. It's not easy sometimes, but it increases course value dramatically.

In conclusion, I want to say if after the course you decide that Scala isn't for you, just take the next course in the specialization.