Chevron Left
返回到 Functional Program Design in Scala

学生对 洛桑联邦理工学院 提供的 Functional Program Design in Scala 的评价和反馈

4.5
2,961 个评分
508 条评论

课程概述

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.

筛选依据:

26 - Functional Program Design in Scala 的 50 个评论(共 491 个)

创建者 Ilya O

Jul 11, 2016

In fact, this is an inconsistent attempt of re-implementing previous FRP course from the same authors. FRP course had many issues about homework/lectures being poorly related, this one is even worse. This is very frustrating, as a topic itself is one of the most interesting ones in today's software engineering.

创建者 Diego M C

Oct 29, 2017

Very boring and unorganized course. It feels like it is a mix of two older courses that no longer exist.

This almost made me feel like I was back in college, with those unbelievably boring lessons and project subjects from 30 years ago.

创建者 Sunheang T

Nov 22, 2017

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

创建者 Remko d J

May 27, 2016

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

创建者 Lidan Y

Jun 17, 2018

strange structure

创建者 Илья Б

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.

创建者 Pedro d S Q

Aug 20, 2020

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.

创建者 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.

创建者 Rachapong C

May 28, 2020

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.

创建者 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

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!