Chevron Left
Functional Program Design in Scala に戻る

スイス連邦工科大学ローザンヌ校(École Polytechnique Fédérale de Lausanne) による Functional Program Design in Scala の受講者のレビューおよびフィードバック



In this course you will learn how to apply the functional programming style in the design of larger Scala applications. You'll get to know important new functional programming concepts, from lazy evaluation to structuring your libraries using monads. We'll work on larger and more involved examples, from state space exploration to random testing to discrete circuit simulators. You’ll also learn some best practices on how to write good Scala code in the real world. Finally, you will learn how to leverage the ability of the compiler to infer values from types. Several parts of this course deal with the question how functional programming interacts with mutable state. We will explore the consequences of combining functions and state. We will also look at purely functional alternatives to mutable state, using infinite data structures or functional reactive programming. Recommended background: You should have at least one year programming experience. Proficiency with Java or C# is ideal, but experience with other languages such as C/C++, Python, Javascript or Ruby is also sufficient. You should have some familiarity with using the command line. This course is intended to be taken after Functional Programming Principles in Scala:



This is a university degree course which takes enormous effort to complete. But still its beond the programming course range giving you whats not possible to google or learn practical way. Thanks!


Thank you for this exciting course! I did the FP in Scala course a few years ago and decided to do the full certification now. I am looking forward to the next courses in the specialisation.


Functional Program Design in Scala: 51 - 75 / 503 レビュー

by Michael W


This course was a more or less succsessful excerpt of the course "Reactive Programming in Scala" wich can still be found on youtube and in the net. The course only covers about 3 of the 7 weeks of the original course. But it seems to me that this first part of the reactive course was better than the other parts, that were tougt by other instructors. But, still a great course that tought me a lot.

by Chetan B


A wonderful course, and a great introduction to both functional programming and Scala language. It's high time that we start paying attention to Functional Programming paradigm, and thanks to Scala we can now use it in the mainstream production grade development.

I would highly recommend this course to anyone who is looking for a new (and likely better) way of thinking about programming.

by Morteza N


I really enjoyed this course. It's challenging and helps you develop a great functional programming mindset. I remember those classes I attended several years ago when I was struggling with learning Java, compare with that bad experience I could learn Scala just in 4 weeks much obliged to you Dr. Odersky and your colleagues that make learning process to be a breeze. Thank you!

by David S


This is a great course with a clear exposition of some of the more complex topics in FP such as Monads. However, I feel the treatment of concurrency left me with more questions than answers (though I also understand the next course will explore it in more detail). I would have also liked some more excercises about building a Scala program "from scratch".

by Sam S


Really enjoyed this course. Having had experience in functional reactive programming, the content wasn't overly in depth but it helped cement understanding of how functional patterns can be used in place of OO ones, as well as further the knowledge of Scala gained in the first course.

The content on streams and futures was particularly helpful for me.

by Diego R


This course is the best for learning the principles of functional programming. From my point of view exercises are a little bit difficult but they are really creative and make you strive for learning the concepts you need to apply in functional programming. The effort of doing this course is really worthy. Congratulations to the creators of it.

by Sam W


Brilliant introduction into some more advanced techniques and perhaps some unfamiliar topics to imperative programmers. Martin's explanations are careful and considered, and each topic follow logically from the last. My favourite section: FRP - such a great alternative to the usual Publisher/Listener pattern. Highly recommended.

by Andrew W


Another great course. It was a little more disjointed than the first course of the specialisation, the exercises did not allow you to really get to grips with the full range of material discussed in the course but that was largely because the scope of coverage was so large. Maybe the deep dive will come in the later course...

by Hasan K


perfect course and definitely recommended to everyone who wants to understand and learn not only Scala but also functional programming. Be aware that this course will give you the foundation and requires you to invest significant time to learn bits and pieces of functional programming and how those are implemented in Scala.

by Graham B


A well-paced and intellectually challenging introduction to the concepts and practice of functional reactive programming, with two AMAZING instructors (Martin Odersky and Erik Meijer)! Builds on Martin's equally excellent introduction to functional programming. (Pass this course and join Professor O and the xs-men!)

by Avinash


Exceptionally great teaching by Professor Martin Odersky, I am right now wondering why his scala.react way of Signals approach is not adopted by any of the major UI platforms ... it makes lot of sense to me having worked in UI layer for a long time and understanding the mess that event driven architecture brings

by Massimiliano D


Excellent course, in line with the expectation after the previous course of the specialization. It appears evident that the teachers of the course are high quality professionals, with passion in what they are explaining.

I would strongly recommend the course to anyone who want to increase its programming skills!

by Chaitanya B


Course material and assignments difficulty level was much higher than first course. Some of the learning material seemed rushed and disconnected. But overall, the concepts taught were really important and this course has strengthened my knowledge of functional programming

by Janis R


Very interesting assignments! But I think the assignment instructions were incomplete for the last 2 weeks. (I left comments for those 2 assignments explaining what I thought was not mentioned (and, in my humble opinion, should have been mentioned) in the instructions.)

by Mykola D


This is a really nice class. I've been doing Java programming for a while. However, I was really impressed with the capabilities of Scala. This class made me think of programming in a different, much more advanced way than I've been able to do before.

by Vladimir P


I love it.

But I should say that the last practical assignment was hard. methods to be implemented are not documented.

I understood at the end, that only one method is part of object's interface. But I had to inspect the way UI part was implemented.

by Dmytro S


This is actually a very good course. There are some inconsistencies but it's actually good: when I fix them I have realized that I've learned more deeply. Anyway, this is a "must" course for someone who is learning Functional Programming Design.

by Anton V


Sufficiently challenging to be interesting. This course(s) evolve(s) so there are some quirks in assignments/videos here and there, but it no a big deal really. Many thanks to authors and coursera team.

by Eleanna S


Thank you for this exciting course! I did the FP in Scala course a few years ago and decided to do the full certification now. I am looking forward to the next courses in the specialisation.

by Harish


Really enjoyed doing the course. Learned a ton of Stuff. Functional programming design is amazing. It's like learning Object Oriented programming (with design patterns) for the first time.

by murmelssonic


Picks up where the previous course left off... the last assignment is a bit more challenging than the others, well for me it was. Thanks to the people who put the course together.

by Choy R


i thought i knew scala at the time. but i had trouble putting the pieces together. this course really helped me understand how the various parts can be used together in practice.

by Colin U


This is a great course for guiding further study. Lots of the topics require outside material to really feel like you've got a minimal handle on the larger designs it's teaching.

by Evaldas M


Interesting concepts analyzed in through functional and scala toolset. I enjoyed the homework variety and I think more than few things can be applied in real applications

by Janos S


I got even more functional programming knowledge effectively. I also got an Excel or more like Google Sheet core in source code with the Week 5 programming task.