학생용
Chevron Left
Functional Program Design in Scala(으)로 돌아가기

로잔연방공과대학교의 Functional Program Design in Scala 학습자 리뷰 및 피드백

4.5
별점
3,022개의 평가
517개의 리뷰

강좌 소개

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: https://www.coursera.org/learn/progfun1....

최상위 리뷰

RP
2016년 9월 14일

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!

ES
2018년 3월 17일

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의 501개 리뷰 중 276~300

교육 기관: Antoine L

2019년 3월 12일

This course felt a bit less fundamental than the Functional Programming Principles but offered some nice introduction to more advanced concepts that feel to bridge the gap between theoretical advantages and real-world use cases.

On the other hand the Monad concept which I often hear about still feels a bit fuzzy, I felt like less time was dedicated to theory in this course.

This time again the exercises are challenging but fun and above all really help internalizing the concepts, although it feels like it will take me more work to really grok Signals not to mention Future which are not used in any exercises.

교육 기관: Tim B

2020년 7월 27일

Great course! Applying the theory on the homework assignments is a really effective way of consolidating your knowledge. The assignments were fun, and I also learned a lot from the "domain" of each of the assignments. That being said, I feel like for the IntHeaps assignment, the right balance was not struck. Too much knowledge of one obscure computer science topic (Binomial Heaps) was required to complete the exercise. This was, in my opinion, completely beyond the point of what was taught in that week of the course. It unnecessarily cost me a considerable amount of extra time.

교육 기관: Ashvin L

2018년 3월 25일

The content is excellent. It needs to be better organized. We learnt a lot about Monads, Futures, etc, but there was nothing to test them.

Week4 organization requires a lot more work. It appeared as though, the professors have taken some other course content and re purposed it for this course. While that in itself is not bad, what has happened unfortunately is that the jumps in the lectures are very sudden and many things do not make sense.

Some of the "inductive programming" proofs are quite long and tedious and does not gel with the flow of the course.

교육 기관: lu

2017년 5월 24일

1 . Some content quite confusing and not well explained(e.g Future, Monads ..).

2. Scala.react package mentioned, the paper that describes it is good, but seems this package deprecated already?? No practical example.

3. Akka Actor was said to be covered in the previous "Reactive programming principle" course, disappeared here, and some other content gone, too.

I thinks FRP is quite interesting, hope this course structure can be improved and more examples/practical assignments provided.

교육 기관: Pavel A

2016년 9월 25일

I would have loved to spend more time on FRP and Futures. Both of those sections could have been expanded and an assignment dealing with Futures would be very welcome. Also, the mish-mash of Futures-related lectures was a bit confusing (despite Erik Meijer's obvious enthusiasm for the subject). Otherwise the course is a great introduction to a number of interesting topics in Scala, which will probably serve as an important stepping-stone for the next parallel programming course.

교육 기관: Egor P

2017년 8월 13일

Course is very informative, but has a few "formatting" issues:

Fix references to another lectures. Sometimes they are talking about lectures that don't even exist

In one of the first weeks it was proved that Try is not a monad. And later in the last week video other lecturer call it a monad. It is not anything huge, but makes feeling that content a bit inaccurate.

Week 4 / Combinators on Future 1/2 / Future recap - flatMap result type is incorrect

교육 기관: Martin O

2017년 11월 3일

The course material and assignments did not quite match. Moreover, the test assignment was like something for completely another course. Not even a word about possible ways to implement test assignment methods. Had to browse around course forums and browse around the Internet for additional materials about Scala and algorithms. Although in the end got 10/10 points - no idea whether same result could be achieved in some even more elegant way.

교육 기관: Mike D

2016년 7월 15일

The content is excellent (as always), however the form leaves a bit to be desired. The video quality kept reverting to "low", and even on "high", the resolution was nothing to be proud of in 2016 (or at any time during this century). Also, the instructors appeared to make references to lectures that are not a part of this edition of the course. But these are small issues – the course is definitely worth taking, small imperfections or not.

교육 기관: Janis Z

2017년 8월 31일

I really liked how the assignments had types already specified, so that you would just add the finishing pieces in puzzle, and reveal solution Odersky had intended you to learn - because without these aids there would be endless solutions that could be excercised, and you might not learn the concept that was being taught.

It was a bit confusing though to see that the lecturers were being toggled - thus in some places context was lost.

교육 기관: Anders T

2016년 7월 27일

A good introduction to design of more complex Scala programs in a functional manner.

Left a few things to be desired some places, such as: less legacy from the previous "reactive programming in scala" course; a discussion of immutable options for functional reactive programming; and a demonstration of an implicits-based implementation of Functional Reactive Programming, as was mentioned.

For the most part a great course though.

교육 기관: Joseph C

2018년 7월 5일

Great, informative course. My only issue is that some of the programming assignments seemed to focus on one specific portion of the week's material rather than testing bits of knowledge from across the week. This was especially pronounced in the week 3 assignment, which was more about learning a testing framework than anything. Still, overall it's a great course that's worth taking. I probably would give it 4.5/5 if I could

교육 기관: Iwan E

2016년 11월 16일

Apart from week 4, I found all classes very instructive and relevant. The video's from Erik Meijer in week 4 seemed a bit artificial. The exercise in week 3 was not really related to the classes other than that we learned in the course that there is a way to proove something and then we needed to. I could not really understand why or when I would apply that knowledge.

교육 기관: Andrew S

2016년 7월 30일

The course was nice but not structured very good, especially week 4. From time to time you have a feeling that this course is more like a compilation of lectures made for other courses with similar topic. Especially confusing are moments when during the lecture author references previous materials you expected to know from lectures you've never heard. That's strange.

교육 기관: Max S

2020년 3월 1일

Just like the first course in the specialization this one teaches valuable insights into quite a lot of concepts. However more than the first one you realize in this course that initially the entire specialization was taught as one coherent course. In this course this sometimes show and confused me a bit. Additionally there where almost no exercises in the lectures.

교육 기관: Vasile G

2017년 3월 21일

The assignments seemed somewhat easy compared to curriculum which became more difficult. I would say that the assignments from the first course were more challenging then those from the second. I also think very little attention was paid to new monad constructs like Try, Validate and scala's reactive library, but I guess the later was left for the third course.

교육 기관: Roman A

2019년 11월 13일

The course covers a range of interesting and important topics and the quality of lectures and exercises is pretty high.

However, it is organized in a less coherent way than the first course in the specialization. Exercises do not match their weeks, lecturer suddenly changes in Week 4 and delivers something not clearly following from the previous lectures.

교육 기관: futtetennista

2017년 3월 28일

To me every mooc by Martin Odersky is pure gold. I guess this course underwent a couple of "refactorings" because I didn't have the impression that the topics (and sometimes the assignments) throughout the 4 weeks followed a clear path. This is just my impression though, I might be wrong. Anyway great mooc and lots of fun, I can totally recommend it!

교육 기관: Chloe L

2018년 11월 11일

Prof Martin's lectures are great.. however I have trouble following the other lecturer Erik. He sounds out of breath all the time and the content is not as well organized & well explained as Prof Martin's. I ended up skipping his lectures (which is sad, as his lectures are about Scala Future which imo is a difficult but important topic).

교육 기관: MAGDELENAT P

2016년 7월 13일

A bit lost sometimes. The course was remodeled after previous ones obviously and it seems a little chaotic sometimes. Not sure to get all the message that was intended to be passed. Sometimes the exercice are way simpler than the session contents. Still I've enjoyed (almost) every moment of the course and I am eager to go on! Thanks!

교육 기관: Sergey V

2016년 12월 11일

Thanks for this course!

Only one times i was very confused - when i saw that in the last assignment i should use Vars and Signals, not Features and Promises - that's, i think, a little bit far from as async code in real projects, which contain promises, features, actors etc.

But anyway, thanks for all of that, it was useful for me.

교육 기관: Tomasz K

2016년 6월 12일

Course material was not difficult, but the homeworks weren't much correlated with it. If you attend other IT online courses you will notice that this one is a little old fashioned. I was also more interested in real-life usages than how it should be implemented. Regardless the cons course was informative and somehow useful.

교육 기관: Joël V

2019년 3월 27일

Provides an interesting theoretical bird view on: monads & its relation to for expressions, streams & lazy evaluation, elegant examples of mixing mutable and immutable data-structures for stateful programs, and finally signals for event management. The exercises are fun ;-) and illustrative although not too challenging.

교육 기관: antonin p

2017년 4월 27일

Very good course but not as good as the first one :

Try monads are never introduced but are referenced by one of the lecturer.

Signal DP for mutable state encapsulation is introduced, but it's benefits are unclear until the research paper is read.

Exercises are still very carefully designed. Thanks for the great contents !

교육 기관: Nikolas V

2019년 12월 15일

The course material about the futures, although interesting should have been developed further and at least with an extra week in the course (and have an assignment associated to it). As things are, week 4 didn't flow as well as the previous ones, or any of the weeks from the course "Functional programming in Scala".

교육 기관: Erick F

2018년 5월 6일

The only issue I have is with the "Latency as an effect" part of the course, it seemed reasonable but it assumed that you knew many concepts that are not shown, and also it doesn't have as many practical examples as other sections. Nevertheless, the main aspect of the course, functional design, was explained greatly.