As expected Martin is awesome in explaining principle of functional programming. I have started reading the book as well to make sure I keep up with the knowledge which I have gained from this course.
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!
By Török E•
Introduces Scala syntax elements and concepts systematically and logically (functions, objects,classes, lists, collections, including syntactic sugar).
If you already know another functional language, you will immediately recognize equivalences (e.g. instead of sum types you have subtyping with case classes, the type of recursive functions needs to be defined, etc.), and can complete the course in a matter of days.
By Benjamin S•
Good introduction to Scala and especially to the concepts behind the language and Functional Programming.
The lectures are very clear and consistent. Still you should already have some experience in software development or computer science to keep up.
The exercises are also a good fit to the lectures and help you understanding the matter, while being very theoretical on the other side.
I would do this course again.
By Antoine L•
In-depth course that was just the right level for me (experienced programmer).
I liked the progression and the exercise which were complete enough to have to design solutions applying the learned concepts. That was really the missing piece for to learn Functional Programming.
Towards the ends the exercises get a bit tricky so I recommend planning some free time to go deep rather than a few hours here and here.
By Subhojit B•
The videos are a little too simple for the actual assignments. I felt they lacked information regarding scala syntax related to functional programming. when I was doing the assignments I felt that I have never come across certain constructs in the videos and had to refer to other materials . But from the logical point of view, this course is very good. Clears a lot of concepts about functional programming
By Wenyuan Y•
Great course! This is my first time that I have finished course in coursera. The assignment is intersting and challenging. By studying the course and coding the assignment, I learn a little about functional programming. Howerver, I'm still confused about what the advantage of functional programming is and how to use function programming in project. I hope the next course can figure me out.
By Krishna L•
Some of the lectures get into more detail than a beginner would be able to understand. Coming with 15+ years of traditional OOP in Java, I found myself getting lost in some of the content and had to supplement with other online tutorials. For many lectures, a good companion reading link with an option to try out the corresponding scala syntax (such as scala fiddle) would be beneficial.
By Eugene T•
This i believe is a very good introduction into Functional programming. This course was a lot harder to what I initially expected. If you are used to languages like Java or C# you have to completely rethink the way you are used to approach problems. I had to do a lot more extra work and reading and do extra examples to understand some of the new concepts - but it is worth the effort.
By Tim B•
Really good course. Only point of criticism would be that sometimes the level of detail in the explanation of the assignments is a little low. I would have benefitted from a step-by-step explanation of an ideal solution after submitting, so I could have understood the assignment in depth when I got stuck. This would be more helpful than the generic feedback provided after grading.
By Kyoung-Seop P•
Fascinating course. I've been studying scala with book and internet before I found this course. During that time I felt something not enough to get into scala programming. Because I can't really feel what is functional programming is. Now, after finish it, I think I can say what it is. It's broad my sight in programming world.
It was very helpful course. Thank you!
By Олег П•
The course is very hard and interesting even for programmers with Scala experience thanks to lots of advanced algorithms related assignments.
But the suggestions are sometimes misleading (e.g. in the assignment called objset it says to use tail-recursive helper funciton which you cannot do with trees because you have to recurse in two direcitons, unlike with lists)
By philip g•
very challenging if no former exposure to FP. I came from a Python / Fortran background. Some of the programming assignments ridiculously hard and sometimes feel the lecture material doesn't quite prepare you for it.
That being said, if you persevere you will learn a lot. Really interesting course, and I am fully sold to the principles of FP I have seen so far!
By Andy D•
Excellent introduction to Scala and the principles of functional programming, with lots of challenging and enjoyable exercises. My only minor complaint is the some of the exercises require knowledge that has not yet been covered in the course. However, it could be argued that this encourages active research by the students, which isn't necessarily a bad thing!
By Jakob W•
This course was great for developing new brain connections. It was sometimes frustrating - In particular with the very limited discussion threads available on the forum (I wonder if it would be possible to merge forum threads between some runs...). But it was great introduction to get the brain started with functional programming and related Scala syntax.
By Fred t•
Very interesting and thoughtful course !!
On week 3, most of the tests rely on a single method that really makes the result (all or nothing) as soon the the load all Tweets is called (15 min to get "It's not working"). Kinda discourage you to move forward.
Except that, the content is very good and the Exercises are very useful for learning !!
By S D Z•
I thought this course was really hard. The lectures are 1-2 hours of video every week and the assignments are very challenging. Some of the videos are in the wrong week. Wish case classes were better explained. I learned SO SO SO SO SO much though. This is NOT a course you can zip though. I thought I would do it in just 7 days...NOPE!!!!
By Eric M•
The material was fantastic, but the lectures seemed to be a bit basic in comparison to the actual coding assignments. Even after understanding the martial covered in the lectures it felt at times as if the coding assignments were drafted against an entirely unrelated topic (or at least by someone with a completely different approach).
By Leonhard R•
Great for getting started, all the assignments can be solved in reasonable time and help in really understanding the concepts.
Some parts of the course materials are a bit outdated though (e.g. the project files for the last assignments don't work out of the box, you have to fix the path to the text file containing the words)
By Zeb A•
The concepts in this course are essential to understanding scala. However, I feel as though the instructor (Dr.Odersky) doesnt properly prepare students for the assignments present in the course with his materials. FP in scala (red book) is far better at teaching these concepts once you learn the basics from the videos.
By Sean L•
Very good overall, although it gets too abstract too early with the material in Weeks 3 and 4, before become more concrete again in the final two weeks. I would have reordered that material, placing the Scala Collections API material before the discussions of how Scala's object-oriented and functional aspects interact.
By Deleted A•
It is a good course. However, what I find missing is having real world examples instead of trying to solve something libraries have solved. I understand the effort is to understand the concepts and data structures, but this could be done in a nicer way too. Including some real world examples could be quite helpful.
By Gonzalo R•
The pace of the course is greate anda the excercises are challenging yet affordable. A little more clarity in some aspects of the excercises would be appreciable. Also, I would have liked to get a "best" or "correct" result after I passed each excercise to check my solution against someones with more experience.
By Gerard k•
Good course, learnt quite a lot even as someone with some existing experience of Scala. The exercises were challenging but not too difficult and the estimated completion time is pretty much spot on. Just a shame that the automatic grader and verification systems are less than reliable on some of the exercises.
By Mark M•
Excellent class but feels (and is) cut and pasted from previous incarnations. Sometimes the professor will reference something covered "last time" that was not covered at all. Coursera, it would only take a minimal effort to clean up these inconsistencies!!!
Still an excellent class that I strongly recommend.
By Andrew P•
The course was good exercise, and Martin does a very thorough job of covering the topics of the course. I do wish the course focused a bit more on the assignment problems. There were some interesting problems to work on, and I don't think the discussion forums are a very helpful way of covering those topics.
Good introduction to functional programming using Scala! FP is quite different to imperative programming, it has a higher level of abstraction. I think every programmer should have some knowledge of FP. However, this is just a course to tell you some principles and not a comprehensive Scala course.