It took me much longer than expected to finish the course and sometimes it made me feel stupid and helpless. Diving into functional programming was a mind bending experience, totally worth time spent!
Really good explanation by the instructor. Good assignments. The assignments gave a good insights into functional programming. I loved the way the problems were decomposed into neat smaller functions.
By Ram v•
By Deleted A•
By Mohamed E B•
By Yurii K•
By snabel k•
By Andrey M•
By Vladimir Z•
By Mattia Z•
By Oleg M•
By Raghuwanshi, V•
By Deleted A•
By Krasilov D F•
By Yaron D•
By Damien F•
By Sushmitha v•
By Michael W•
By Oren Z B M•
By David S•
Excellent intro course, but not without issues.
In general, pro's include reasonable length lectures, provided by _the_ leading expert in the field, and designer of the Scala language. Focus on functional programming techniques versus syntax nuance is a significant benefit - Scala is easy to get bogged down in. Pro's also include the fact that lectures have had at least some amount of post-production work done, and manage to make voiceover/slides/whiteboard consistent and coherent better than most similar online classes/tutorials.
The assignments are reasonable, and the time estimates of ~3 hrs each was about right on the average, at least in my case (senior programmer with deep background in C/C++, and just enough Java to be dangerous and dislike boilerplate).
Some drawbacks - there was no clear segue from "basic syntax" to "collections framework". That's _IMPORTANT_. In 20/20 hindsight, I would have benefitted from a big, bold slide before the first mention of "foreach" that said "stop here, go to the text, and skim the chapters on collections for 'foreach' and other common operations. This is a building block for everything to follow, and NOT unique to just lists."
The major factor keeping this from being a '5' in my mind were that the assignments didn't always make sense as written, and I had to go back and forth between the assignment writeup, the source code and the test cases to really sort out what was required. The assignments could become _much_ more effective if they were provided with more test cases, including expected FAILURE cases and not just bare minimal acceptance cases.
By Ezequiel D D D•
This course is very good and helped me to dive into functional programming and Scala language.
Teacher is very clear and videos are good. The idea of mixing functional style programming with a language like Scala makes it a good challenge to learn and/or strength two skills in one course.
At some points I found some of the assignments more focused on algorithmic problems more than functional programming or Scala itself, which can feel a bit complex.
On the other hand classes do not mention almost anything about the performance issues that can arise when using recursion at this level, which leads to overflow or timeout problems when submitting and grading assignments or if they are used in real work situations. I understand for a first course it could be reasonable.
Finally, many exercises in the assignments depend on the previous ones so if you get blocked at one, you may not be able to continue.
Overall, I recommend and It's a good course which will for sure improve your programming skills, and combined with other courses in the specialization can be an interesting challenge.
By James M•
Good introduction to functional programming and Scala. Although, the lectures and assignments can get rather mathy (pointless proof of refactoring using maths, Pascals Triangle, Huffman Coding, Counting Change, etc) If you don't have a mathematical background, I would suggest getting the basics of programming down before starting this course so you have less to worry about.
I found myself reading up about the maths behind some of the assignments before tackling them, when this could've been avoided with less mathematical assignments. I looked into the first assignment of the next module in the specialization and thought to myself: "Why bother" as it just continues the trend of solving more complex mathematical problems -- something rarely tackled as a professional developer.
I would've liked to see the standard collection functions taught and used more frequently: map, flatmap, fold, etc.