Chevron Left
Вернуться к Functional Program Design in Scala

Отзывы учащихся о курсе Functional Program Design in Scala от партнера Федеральная политехническая школа Лозанны

4.5
звезд
Оценки: 2,810
Рецензии: 476

О курсе

In this course you will learn how to apply the functional programming style in the design of larger 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. 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. Learning Outcomes. By the end of this course you will be able to: - recognize and apply design principles of functional programs, - design functional libraries and their APIs, - competently combine functions and state in one program, - understand reasoning techniques for programs that combine functions and state, - write simple functional reactive applications. 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 using the command line. This course is intended to be taken after Functional Programming Principles in Scala: https://www.coursera.org/learn/progfun1....

Лучшие рецензии

RP

Sep 15, 2016

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

Mar 18, 2018

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.

Фильтр по:

1–25 из 459 отзывов о курсе Functional Program Design in Scala

автор: Abhinav P

Dec 15, 2017

I was optimistic about this course based on the previous course, because that course was consistent, self-contained, and systematic. On the other hand, this course was clearly put together by throwing together, rather haphazardly, bits and pieces of other courses, some of which no longer even exist. This is outrageous; a course like this would never be taught at a prestigious institution like EPFL, and it is highly deceptive to give us a course, put together in a arbitrary, incoherent, Frankensteinish fashion, right after a course that was quite systematic and coherent.

Week one and two were not bad, hence why I gave two stars instead of one. But week three involves a programming project that has literally nothing to do with the lectures at all. To be sure, I didn't mind learning about Scala Check, but I had to do it pretty much entirely on my own; it was mentioned for about five seconds in the lecture videos. If I wanted to just read documentation without any actual teaching, why would I sign up for a course like this?

And week 4! Coursera/whoever put this course together isn't even trying anymore. The videos are clearly from multiple different courses, and Odersky himself makes references entire weeks worth of content that simply doesn't exist anymore. This is a damn mess. In its current state, the course is simply not worth publishing.

For what its worth, the removed lecture videos can be found here: https://www.youtube.com/playlist?list=PLMhMDErmC1TdBMxd3KnRfYiBV2ELvLyxN

But these videos do not contain the removed exercises/programming projects, unfortunately.

автор: Gabriel G C

Jan 09, 2019

It seems that this course was partially updated, but it was not done in a seamlessly way. I think this course deserve a full remake, if possible with the same instructor all the time.

автор: Shaul E

Mar 01, 2018

The course starts well and has really good exercises, HOWEVER at weeks 3-4 the lectures lose their logical order, it feels like a collection of random lectures from other course syllabus that have been "reused" here.

Week 3 exercise has very little to do with the lectures, and week 4 lectures are even worse, martin says he'll talk about 1 thing that is later not in the course, then we switch to someone else that talks about "things we've seen before" - which we haven't!

Don't get me wrong, you can still learn a lot from this and understand most of it, but it just feels very unprofessional, glad I've only audited this course and didn't pay for it, if that was the case I would feel very disappointed

автор: Илья Б

Sep 24, 2016

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!

автор: Rishi K

Aug 10, 2016

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.

автор: Owen E

Sep 10, 2018

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!

автор: Tom H

Jul 31, 2016

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.

автор: Joshua S

Oct 31, 2018

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.

автор: Roland F

Aug 30, 2017

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.

автор: Trent O

Apr 01, 2017

A good course that touches on the basics of high-level concepts of Functional Programming, that could have been made better with homeworks that are more related to course material & more examples of concepts introduced in the course, either in homeworks or video.

I thoroughly enjoyed 2nd week material, simply amazing concepts & homework.

If I could give 4.5 stars that would be the score I will give.

автор: Michael W

Oct 18, 2017

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.

автор: Chetan B

Sep 08, 2016

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.

автор: Morteza N

Feb 15, 2017

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!

автор: David S

Oct 30, 2019

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".

автор: Samuel S

Aug 30, 2016

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.

автор: Diego R F

Dec 04, 2016

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.

автор: Andrew W

Oct 01, 2016

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...

автор: Hasan K

Mar 25, 2017

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.

автор: Graham B

May 07, 2017

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!)

автор: Avinash

Oct 01, 2016

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

автор: Massimiliano D

Nov 04, 2018

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!

автор: Chaitanya B

Aug 22, 2017

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

автор: Janis R

Jun 23, 2016

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.)

автор: Mykola D

Aug 14, 2016

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.

автор: Vladimir P

Sep 08, 2017

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.