Chevron Left
返回到 Functional Program Design in Scala

Functional Program Design in Scala, École Polytechnique Fédérale de Lausanne

4.5
2,382 个评分
414 个审阅

课程信息

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.

筛选依据:

397 个审阅

创建者 Konrad Cala

Dec 10, 2018

Challenging assignments, nice lectures except those prepared by Erik (quite boring)

创建者 Hitesh

Nov 26, 2018

Good Course. Recommended

创建者 Denys Lobur

Nov 22, 2018

Outstanding course with outstanding grading system built into SBT

创建者 Petr Osipov

Nov 18, 2018

reveals the things that I would not have not known myself

创建者 Damon Zhao

Nov 18, 2018

A little difficult but have fun.

创建者 Chloe Lu

Nov 11, 2018

Prof Martin's lectures are great.. however I have trouble following the other lecturer Erik. He sounds out of breath all the time and the content is not as well organized & well explained as Prof Martin's. I ended up skipping his lectures (which is sad, as his lectures are about Scala Future which imo is a difficult but important topic).

创建者 Massimiliano D’Acunzo

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!

创建者 Joshua Sakwa

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.

创建者 Sudipro Ghosh

Oct 24, 2018

This course has been very helpful for learning monads and how they relate to reactive programming.

创建者 Tan Kai Heng

Oct 24, 2018

This course touches on many areas of production-level functional programming design. However, it is too short and the parts are somewhat disjointed, particularly the assignments. Can be greatly improved by having a specific focus (e.g. FRP, monadic design, effects) and have a course for each focus.