Chevron Left
Functional Program Design in Scala に戻る

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

4.5
3,064件の評価
523件のレビュー

コースについて

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: 26 - 50 / 508 レビュー

by Sunheang T

2017年11月22日

It is terrible compared to the first one: bad course structure, assignment mismatch, there is no mentioned of RxScala anywhere.

by Roberts P

2016年9月15日

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!

by Harish

2016年7月24日

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 Botao A

2020年6月22日

The 'implicit' and 'type class' part has no video which makes the learning process more difficult.

by Milan V

2019年10月24日

The 2nd part was kind of confusing and less concise.

by Michael R

2019年10月23日

This course was a bit of a mixed bag - some great bits and some really badly designed bits!

Seems it was originally two courses which have been mashed together, and the joins are pretty rough...

First week on Streams/Lazy Lists was great, but seemed to actually have originally been the final week of the functional programming principles course.

The circuits example was interesting, but could have done with an assignment to bed in the knowledge - the actual assignment had little bearing on this material.

The futures section was interesting, but there appeared to be some missing sections due to the course reorganisation, so it didn't flow especially well. Again, some more concrete examples and an associated assignment would have been appreciated.

Definitely a useful course, but be prepared to put up with the rough edges!

by Shi Y

2019年9月4日

A bit of confusion about the assignment instruction.

by Andrés F

2016年7月16日

This course is a re-hash of both the excellent "Functional Programming Principles in Scala" and the mediocre "Principles of Reactive Programming in Scala". Unfortunately, in quality it's closer to the latter: mixed quality, lectures that seem unrelated to their corresponding assignments, many errors (both typos and, more seriously, examples that don't type-check!) and a general lack of an in-depth motivation for the principles. Staff participation in my run of the course (2016) was disappointingly low; in some cases there was no response at all to students pointing out glaring errors in the lectures.

It's very noticeable that this course is a patchwork of previous courses. In same cases the video lectures even display the wrong title for the course, or mention lectures that no longer exist in this version of the course!

The course has interesting parts (I was especially thrilled when I saw there were lectures about FRP), but its quality is way below "Functional Programming Principles in Scala". I'm disappointed.

To make this review constructive, my recommendations:

1- Pay attention to quality. Make sure all examples compile and type-check.

2- Make sure you're not repeating content already in other courses, especially if they are part of the same specialization!

3- If you're going to re-use content from other contents, make sure it fits the current course. Do not mention lectures not in the course.

by Z

2016年9月3日

I expected more. Week 2 on streams in my opinion was a very strong week and well worth time and effort. Week 1, 2 and 3 were pretty weak in my opinion. I don't feel like I've learned much or that the exercises reflected what was being taught in the lectures. For example on week 4 the exercises do nothing with futures even though there's 6 lectures on them. Week 3 spends 3 long lectures how to build a discrete simulation application and exercises are about property checking. Course felt disjointed and not really finished. Would NOT recommend and definitely would not pay 79 USD for.

by Ibrahim M

2020年6月25日

For the content of last 3 weeks, I struggled through some of them, I found some of them quite irrelevant, therefore I had to catch a lot of ideas from all over the internet, I thought it was just me until I saw other reviews about the course, obviously, this version of the course is different from the original one, some content was removed, glued, or out of order.

by Peregrine D

2020年6月17日

As other reviews have indicated, this course is a mish-mash and a big disappointment after the 5* progfun1 course.

by Jinliang F

2020年8月17日

The assignment did not sever the purpose to enhance what had been taught in the videos.

by Michael P

2018年5月20日

Inconsistent!

by Alessandro C

2020年11月8日

This module as the one before (for which Coursera doesn't allow me to leave a review) is really "academic" like. That really means a lot of notion with no practical examples. Even the first module wasn't really explaining scala, it already starts like you are supposed to know it already. While in the description it was depicted as a beginers-like course. For instance, the lectures talk about the argument "A" and then the assignment is about "Z^2". One of the worst thing about the lectures is that you spend 20 minutes trying to understand a really complicated notion and then in the next minute he implements the same concept with less line of codes and also more optimised, so you have wasted all that time trying to understand an obsolete technique, why you didn't show me the optimised way immediately?! Lectures of 15 minutes that could be resumed with an internet search of 3 minutes. Definitely a waste of money, I completed the first one hoping to understand more in this one but what I got was just a huge waste of time and money.

by Bogdan F

2020年6月22日

Курс значительно слабее первого, после 2 недели начинается хаотичная нарезка лекция.

by Remko d J

2016年5月27日

Too much reuse of old material (assignments as well as lectures).

by Lidan Y

2018年6月17日

strange structure

by Илья Б

2016年9月24日

At times instructions for problems are really vague. Every method should have comments or be test covered like it was in the first course. For example I had to spend some time, looking through the parser to discover that spaces in calculator expressions are mandatory. Technically it was in the description, but it was not clear at all and I was stuck with the idea that I'm doing something generally wrong so i had to write a whole test(that was kinda ad-hoc and not a good practice at all) to reach that tiny problem. Otherwise the course is really really great. It made me progress a lot in my scala skill, while keeping me interested in the problems and learning some new data structs ect. Keep up the good work!

by Rishi K

2016年8月10日

Functional Program Design in Scala is one of the best courses for those who want to apply the functional programming style in the design of larger applications using functional programming concepts. This course is intended to be taken after Functional Programming Principles in Scala. It is a great course for those who want to explore into the functional programming aspect of Computer Science. The concepts are explained lucidly and the assignments are relatively difficult and help the individuals to apply the learnt concepts in an incremental manner. I was really excited on taking this course, and it has lived up to all my expectations from it.

by Pedro d S Q

2020年8月19日

Martin Odersky has a beautiful, calming, sweet voice, that is able to entertain and guide the student even through the most difficult concepts. He has a great way of explaining, his setup is very good and the classes are well thought. The exercises consist of a handout with some bits already coded, and you have to implement some functions to make it all work. This is the second course of five, and I liked this one as much as I liked the first. I really like that the handouts have a "real code" feel to it. The exercises are really well designed, and help the student practice testing skills too, introducing early scala's testing framework.

by Owen E

2018年9月10日

I think the exercises were a bit easier than the first component of the functional programming in Scala series, I did enjoy the difficulty of the first component. My least favorite part was the lecture videos on Futures in Week 4. The presenter is fine, but the style in which he is teaching is different from Martin's. Students often need to adapt to someone's teaching style, and I'm not sure if it's worth taking the time to developing a strategy for those ~ 30 minutes of lectures in week 4.

Anyway, I am enjoying the course so far. Thank you so much for providing this content to the public! You're heroes!

by Tom H

2016年7月31日

This course sets out to teach from the ground up about various functional programming techniques and their uses. It manages to do just that in a very short time. The ideas are presented in Scala but apply just as well to most other languages. The last week, on functional reactive programming and asynchronous programming in particular can easily be transposed to modern front-end web development. The assignments are also interesting and well balanced.

I was familiar with most of the ideas, but this course gave me a better understanding of these.

I thoroughly enjoyed the experience.

by Joshua S

2018年10月31日

Great opportunity to learn from some of the "rock stars" of comp-sci! The course builds on the concepts taught in first part of the series by careful illustration of their application to larger programming structures. The results are elegant expressions that convey the full intention of the programmer in a simple and concise manner, boldly declaring: "I am the solution to this problem." Really surprised in week 4 when Erik Meijer made an appearance as guest lecturer! Not only do you get to learn from Scala's architect, but from LINQ's as well.

by Rachapong C

2020年5月28日

If you enjoyed the first course, you should enjoy this one. The excitement builds up as week 5 sees you writing (part of) a program that reacts to user interface input. Can't wait to see what the next course brings!

That said, week 3 with implicit type-directed programming was mind-boggling and I still don't think I understand it even after completing the week's assignment. Maybe all the interconnected object and class system is really too complicated but also maybe they could explain it a bit better.

by Roland F

2017年8月30日

Odersky does an excellent job explaining concepts and providing sound motivation for them. This course's content was definitely a level above the last course in the specialization, and some of the material seemed a bit disconnected, especially towards the end. It would be useful if there were maybe notes to go along with the course (or slides) so that we could refer back to them when doing assignments instead of having to look back at the videos.