返回到 Functional Program Design in Scala
École Polytechnique Fédérale de Lausanne

Functional Program Design in Scala

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://hua.dididi.sbs/learn/progfun1.

状态:Event-Driven Programming
状态:Performance Tuning
中级课程小时

精选评论

JM

4.0评论日期:Feb 18, 2019

There's a lot to chew on here, and it's well-articulated. Some of the examples are a bit opaque and academic - a little more of a practical, intuitive approach would go a long way.

HL

5.0评论日期:Mar 5, 2017

Great experience with the assignments. Took some time to get understand all the course materials. Highly recommended. Still can learn a lot after reading fpins

RP

5.0评论日期:Sep 14, 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!

CP

4.0评论日期:Jun 27, 2016

Maybe an unfair comparison but I am comparing this with the principles of reactive programming. That had much more contents such as actors, etc. Having said that this is a good course by itself.

BC

4.0评论日期:Apr 18, 2017

The introduction to functional reactive programming is well done. You go from the problem to the solution in a few lectures, and understand positive and negative aspects of the approach.

NG

5.0评论日期:Jul 30, 2016

This was just a great continuation of a great beginning after the previous course.I hope that in the future Martin Odersky will publish more courses.Thank you !

SL

4.0评论日期:Oct 31, 2016

Great course. seems like some things that were referred to during some of the lectures were missing and kinda left you waiting for more. Hoping they will be completed in future courses.

MM

5.0评论日期:Jul 14, 2016

Picks up where the previous course left off... the last assignment is a bit more challenging than the others, well for me it was. Thanks to the people who put the course together.

CU

5.0评论日期:Jun 13, 2018

This is a great course for guiding further study. Lots of the topics require outside material to really feel like you've got a minimal handle on the larger designs it's teaching.

EM

5.0评论日期:Oct 28, 2016

Interesting concepts analyzed in through functional and scala toolset. I enjoyed the homework variety and I think more than few things can be applied in real applications

VL

5.0评论日期:Sep 2, 2021

This course is quite difficult to me, especially the last section. I have to re-watch it so many time to fully understand. At the end of the day, it is worth the effort.

SB

5.0评论日期:Sep 16, 2020

Awesome course. All assignments except the last one are super difficult. Maybe the assignments could be made a little simpler by providing some more hints.

所有审阅

显示:20/514

Abhinav Patil
2.0
评论日期:Dec 15, 2017
Leon L
5.0
评论日期:Aug 21, 2020
Shaul Engler
2.0
评论日期:Mar 1, 2018
Diego Mora Cespedes
1.0
评论日期:Oct 28, 2017
David Kaczynski
2.0
评论日期:Apr 26, 2017
Sergei G
2.0
评论日期:May 4, 2018
Alessandro Cinque
1.0
评论日期:Nov 8, 2020
Gabriel Guerra Costa
3.0
评论日期:Jan 8, 2019
Ilya Obshadko
1.0
评论日期:Jul 11, 2016
Sunheang Ty
1.0
评论日期:Nov 22, 2017
Jinqiang Zhang
5.0
评论日期:Jul 3, 2020
Abhay Dubey
5.0
评论日期:Jul 3, 2021
Martiniano Juanes
2.0
评论日期:Aug 29, 2019
Brendan McCollam
2.0
评论日期:Feb 16, 2019
Federico Lasa
2.0
评论日期:Jul 9, 2017
Gabor Szabo
2.0
评论日期:May 1, 2017
Giuseppe d'Alessio
2.0
评论日期:May 20, 2017
Henrique Costa
2.0
评论日期:May 6, 2017
Antti Aitio
2.0
评论日期:Jul 5, 2017
Subhojit Bhaumik
2.0
评论日期:Dec 26, 2017