Chevron Left
返回到 Scala 函数式程序设计原理

学生对 洛桑联邦理工学院 提供的 Scala 函数式程序设计原理 的评价和反馈

8,062 个评分
1,633 条评论


Functional programming is becoming increasingly widespread in industry. This trend is driven by the adoption of Scala as the main programming language for many applications. Scala fuses functional and object-oriented programming in a practical package. It interoperates seamlessly with both Java and Javascript. Scala is the implementation language of many important frameworks, including Apache Spark, Kafka, and Akka. It provides the core infrastructure for sites such as Twitter, Netflix, Zalando, and also Coursera. In this course, you will discover the elements of the functional programming style and learn how to apply them usefully in your daily programming tasks, such as modeling business domains or implementing business logic. You will also develop a solid foundation for reasoning about functional programs, by touching upon proofs of invariants and the tracing of execution symbolically. The course is hands-on; most units introduce short programs that serve as illustrations of important concepts and invite you to play with them, modifying and improving them. The course is complemented by a series of programming projects as homework assignments. Recommended background: You should have at least one year of 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....



Sep 23, 2019

As expected Martin is awesome in explaining principle of functional programming. I have started reading the book as well to make sure I keep up with the knowledge which I have gained from this course.


Oct 8, 2016

Really good explanation by the instructor. Good assignments. The assignments gave a good insights into functional programming. I loved the way the problems were decomposed into neat smaller functions.


1551 - Scala 函数式程序设计原理 的 1575 个评论(共 1,575 个)

创建者 Antonio A

Oct 13, 2017

The points covered are interesting and useful, with an insight on Functional Programming. However, for newcomers on functional programming, the assignments are a bit too far from the videos or lack the instructions needed to complete them in 3 hours. Some hints for the toughest parts would be very much appreciated.

创建者 Daniel Z

Jan 10, 2020

1)lecture slides in text format would be a great thing - to review smth you have to scroll through the video every time

2) some of the content is outdated - there are a lot of method demonstration that are currently deprecated

3) It would be great to see Java vs Scala syntax comparison more

创建者 Francis T

Apr 16, 2017

The course is not really about Functional Programming, but more about Scala in general. I've learnt much more about FP by reading Learn You a Haskell for Great Good by Miran Lipovača, and Functional Programming in Scala by Paul Chiusano and Rúnar Bjarnason

创建者 Ilya O

Jul 11, 2016

The only attractive thing in this course is a name of the author. The course itself is poorly designed, homework is hardly connected to the content of lectures. Might be interesting as an introduction for Scala newcomers, though.

创建者 Derian P T

Jul 14, 2019

Instead of teaching Scala syntax, it focuses on teaching functional programming logic and conventions, which makes it a very challenging course. If you are looking for an introduction to Scala, this is not it.

创建者 Diogo M

Aug 31, 2021

P​oderia focar mais em funcional e explicar melhor... conteudo esparso e denso com poucos exemplos prtáicos.... senti bastante dificuldade, se noã fossem alguns livros eu noã entenderia bem o scala.

创建者 Yurii M

Nov 4, 2021

after python very difficult. would be good with explaining for IDE using instead of just reading

创建者 José I

Mar 11, 2021

so much focus on recursive programing

创建者 Rishab K B

May 13, 2020


创建者 Andreas R

Apr 25, 2020

I have the feeling that Scala is a language that may have a nice logical consistency, but is far too much overloaded with symbols and possibilities for achieving exactly the same thing in different ways. I think you can appreciate this course if you have a background in theoretical computer science, but for all others who choose the course to learn Scala as a language without academic interest, that is just confusing.

A Scala beginner can also not appreciate how elegant and concise the produced code is and that you can put the meaning of hundreds of lines of imperative code into only a few lines of functional code (without side-effects!). For a beginner, it is more important that you can still read and understand your own code two weeks after finishing this course.

From other coursera courses, I am used to getting the course material (slides, example code) as a download, either linked in every week's curriculum or in the course overview resources section. For this course, I was not able to find it and have manually typed the exercises during the lectures. If it is actually there and I just could not find it, consider this statement pointless.

Concerning the tools setup, I have the impression that the descriptions in the beginning of the course are very detailed, however quite outdated. I ended up following a guide on installing sbt from here and have used it with Visual Studio code.

Another thing that I at least did not catch in this course was how to actually create, deploy and run a simple Scala command line application. Do all people ever just use the IntelliJ IDE worksheets? The problem could also be that I do not have a Java background and am missing some knowledge that is obvious to all others.

创建者 S G

May 17, 2021

I've tried to take the course and have already completed 3 assignments. I have to say that I still do not understand how to code basic stuffs on scala. Going to unenroll from the course. The course is too technical, no syntax was explained, given that I do not have any background from scala, this course is poorly presented. Most of the assignments are algorithm based, although it is not too hard to me (3 hours assignment but I am able to finish it within 1 hour), but the course is not enjoyable.

创建者 Marco C

Sep 18, 2020

I expected something different from a "Principles" course. It is expected to have a Computer Science background and the assignments are not easy at all. I mean, they don't need to be stupid, but they can be really frustrating for a novice (since i thought this course was for novice students). Lessons are ok, but i really hate that the teacher doesn't give the examples and you have to write them by your own, slowing down the pace of your learning.

创建者 Cristian l

Jun 6, 2021

It is mentioned that it is only necessary to have at least one year of experience in a programming language, however, it does not mention that you must have a solid base in arithmetic, all the examples are associated in a very general way but with great complexity that is not clarified. The assigned tasks are becoming more complex. All prerequisites to enter the course should be declared.

创建者 Pritesh S

Jun 2, 2020

There is a big disconnect between lectures and assignments. It seems like there is a mix and mash of materials from different sources. Had the instructor and EPFL team put more efforts into the support resources, it could have been much better. I really liked the videos from Weeks 1 and 2, but then the later week videos seemed inconsistent.

创建者 Anastasiia Z

Sep 10, 2021

This course was too theoretical, for my taste. Many lectures looked like an advanced mathematics course. Also, the course tasks were way too hard for someone just starting with the language. My senior colleagues at work said, that if their learning of Scala would have started this way, they would have ran away and never returned back.

创建者 Miguel A F G

Oct 6, 2020

I have a proficiency in Python and R and I think it is very difficult to use the ItelliJ for the first time. I would like some guidence in order to know how to use correctly the IDE. I get so many errors and I do not know what does so many things about programming in this lenguage or Java. A bit dissapointed...

创建者 Tomás T

Apr 2, 2021

Although the explanation is well done in the videos, the complexity of the submission excercises is crushing. Besides you never know how it is properly done. There is nothing that guarantees that you are doing the right thing. This course is not for 100% beginners in scala. Terrible experience

创建者 Jason J

Jun 9, 2020

Most basic setup instructions for the dev environment do not work as described or at all. Linked external instructions are not clear. I would have been better off trying to learn FP in Scala on my own.

创建者 Cherniaev A

Feb 2, 2021

too much academic and outdated (2012 year of release, if i am not mistaken) . The book "Programming in Scala" written the same author is much better, because the author updates the book.

创建者 Domício

Sep 20, 2021

T​he course doesnt provide the necessary information to complete the assignments. Too heavy on algorithms solving instead of teach functional programming.

创建者 Vedang B

Mar 8, 2021

Poor preparation especially in week 1

创建者 Yo S

Mar 8, 2022


创建者 Pramod D

May 21, 2021

I spent more than 3 hours on the first itself. I was stuck at setting up the environment. The video shows one sort of instruction, but the document provided has a different one.

There is no clear explanation on why we are using what and where. Instructions are pretty vague and not for beginners.

There is no section to provide basic help on the most common errors faced and how to resolve them.

创建者 Antonio B

May 2, 2021

The course is good, but the projects just don't work in 2021. There is no point in spending 95% of time trying to figure out how to configure the many moving parts to work. This is sad because it confirms why Scala cannot get more popular - it's environment is just too convoluted.

创建者 Max G

Mar 8, 2021

Poorly written, terribly explained. Setup was far from simple. This is the first course I've ever dropped. Will go directly to's tutorials.