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

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

7,780 个评分
1,587 条评论


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


151 - Scala 函数式程序设计原理 的 175 个评论(共 1,523 个)

创建者 Philipp W

Jun 2, 2019

Even though i took a version of this course back in 2013 outside the (later introduced) Scala specialization the course material did not loose its relevance and i very much enjoyed solving the assignments with an evolved functional mindset. Another big plus: Martin Odersky's lecturing style is very clean and comprehensive :)

创建者 Accumulator

Aug 28, 2017

Learned concepts of programming that I never knew of before. Really gives you insight into how elegant solutions are supposed to be created.

Would recommend to anyone wanting to expand their perspective on programming as a whole, if they haven't already explored functional and object-oriented programming working hand in hand.

创建者 Fabrice C

Apr 15, 2017

Concise and clear - the concepts were well presented and the assignments really helped drive the point home without being too big in scope (no assignment took me more than 4-5 hours total but I still learned a lot doing them). I feel like this was a solid time investment and look forward to the other courses in the series!

创建者 Patrick B

Feb 26, 2021

This course was very hard, but therefore also really worth it! The OOP aspects (Polymorphism) made the material a bit harder to understand, because sometimes the definitions of operatiosn were spread around different classes. But for practice, one needs to now how to combine OOP with FP, so it was a really good exercise.

创建者 Vlad N

Feb 11, 2017

Course is very intense. Good knowledge of Scala/Java indeed needed for solving the assignments. But the topics were cool: functional programming combined with oop principles and a hybrid of those turned to pattern matching. Every class can be compressed, every object is a function. Absolutely top drawer of programming!

创建者 Martin O

Nov 27, 2016

This course provides an excellent introduction to Functional Programming and is expressed elegantly via the Scala programming language. The concepts introduced will make you a better programmer in other languages. For example, JavaScript provides many of the same constructs which allow for a functional programming style.

创建者 Glendon K

May 8, 2018

Well taught in nice increments. After going through Functional Programming in Scala twice with some difficulty I tried this and it's clarified a few basic things that are taken for granted in there. Scala isn't the easiest language to read (and I've used some pretty cryptic DSLs) but this makes it easy. Amazing course.

创建者 Vikram B

Sep 28, 2020


The course is really challenging and force you to think in a functional way. It's hard for people who come from imperative programming background, but the effort is worth it. Thanks for the wonderful assignments, I couldn't get it right for the first few times but having gone through the lectures again helped me.

创建者 Matthew V

Sep 28, 2020

This course did a great job of pragmatically demonstrating principles in functional programming. The assignments demonstrated the ways Scala is intelligently designed with these concepts in mind, and the lectures were aptly suited. I particularly liked how well the course incrementally introduced the syntax of Scala.

创建者 Marco M

Nov 28, 2016

I really like this course, a bit hard as I'm working and I have a child, hence I reduced my self doing it late in the evening and my math skills where a bit rusty. But surely interesting and opening the mind on functional programming and its different approach. after many years or pure Java a fresh breath. Thanks

创建者 Arvind B

Jul 9, 2017

Enjoyed taking the courses and solving the assignments. The last one was a bit tough but other than that it was a good intro to scala. Might be challenging to people who've never read any other book on Scala. (I already had read martin's programming in Scala book) and this felt like good supplementary material.

创建者 Korbinian K

Oct 14, 2016

Very well organized course! The material is systematically explained in Lecture videos and the exercises efficiently support the learning. The exercise checking with sbt works perfect and gives useful debugging hints. I recommend to set up Eclipse with Scala plugin since this IDE also gets used during Lecture.

创建者 Sinisa C

Oct 21, 2020

Great course! From the creator of Scala. That is privilege not always possible. The difference with videos from trainers who learn Scala just to record their course is incomparable. I will definitely continue the specialization path after some time of reviewing and practising the knowledge gained in this one

创建者 Peter N

Dec 12, 2016

Good brain trainer. A bit overloaded by math-theory examples, but obviously it's what could be expected for general introduction to any programming learning. This course well introduces basics for Functional Programming and will be good not only for Scala developers. Thank you to Martin and other creators.

创建者 Marc K

Dec 11, 2016

Really good course! Well explained, focused on the important concepts and the lessons well chained together. Now, the assignments can take much longer than expected. There is a bit of a gap between the theory of each lesson and the amount of thought that one has to put to pass their respective assignments.


May 20, 2018

I really loved this course, I mean everything, nevertheless, sometimes I felt frustrated the way FP is different than Imperative programming, being used to it, at first it was some how hard, specially with immutable context, but at end, once you grasp the idea, everything falls in place as it should be.

创建者 Timothée P

Jan 21, 2018

A very interesting course. Both functional programming and Scala were new to me. I had a hard time for several programming assignments, as the functional way is difficult when we are used to the imperative way. But this difficulty makes it only more gratifying when everything works. Thank you very much.

创建者 Jiaxing L

Nov 26, 2017

Wonderful course in Scala. The programming assignments are fun and challenging. The course is probably too hard if you haven't programmed in static typing language such as Java, and contains a lot of stuff that seems only useful when you are more experienced, but the overall quality is still excellent.

创建者 William H

Jul 6, 2017

Martin Odersky is an educator of note. But like all Olympians who make their sport look so easy and effortless, this expertise cannot happen without lots of practice. The grading exercises are crafted to give you that practice. An excellent course. Well done to the team that put this together.

创建者 Jacobus H

May 6, 2020

Excellent course to start your journey on mastering functional programming. My review is, however, biased because I have been programming (with imperative languages) for many years. Irrespective of that I have learned new ways of reasoning and thinking that also aid my imperative programming skills.

创建者 Lars G

Jan 14, 2021

A really nice opportunity for gaining a first insight into the principles and motivation aspects of functional programming using Scala.The exercises are well chosen and might bring back some memories of other exercises you had to complete during your previous education.Good job, Martin Odersky!

创建者 Maksym S

Aug 9, 2016

This class is a great introduction to functional programming combined with object oriented programming and the combination of both gives you quite a lot of power. This part is not always taught in functional programming classes. As a great side effect you will get you quite acquainted with Scala.

创建者 Yuan M

May 29, 2017

The course assignment is just brilliant. It guided me and influenced me to follow TDD pattern. The feedback I got after submitting each assignment focused both on the workability as well as syntax, I picked up a lot of best practices to write scala codes in the process. Really a great course!

创建者 Nikola D

Jan 29, 2021

This was truly an amazing course. I am extremely happy to have taken it as it explains the basics of Functional Programming perfectly in a language that is highly popular. The assignments are very good as they are a perfect place to test your knowledge and seem to be very practical as well!

创建者 Fernando T

Aug 16, 2020

Excelente curso. O curso faz um longo desenvolvimento dos aspectos da linguagem e passa a intuição da construção das operações.

Não simplesmente um curso de prática, é um curso de entendimento mais profundo em que em alguns casos você tem pensar com lápis e papel antes de programar a tarefa.