Functional Program Design in Scala

所在平台: CourseraArchive

课程类别: 其他类别

大学或机构: CourseraNew

课程主页: https://www.coursera.org/archive/progfun2

课程评论:没有评论

第一个写评论        关注课程

课程简介

École Polytechnique Fédérale de Lausanne

课程大纲

We'll start by revisiting some concepts that we have learned from Principles of Functional Programming in Scala; collections, pattern matching, and functions. We'll then touch on for-comprehensions, a powerful way in Scala to traverse a list, process it, and return a new list. We'll see how to do queries with for-comprehensions as well as how the for-comprehension is "desugared" into calls to higher-order functions by the Scala compiler. Finally, we'll discuss what monads are, and how to verify that the monad laws are satisfied for a number of examples.

课程评论(0条)

课程详情

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.

Scala中的功能程序设计:在本课程中,您将学习如何在较大的应用程序设计中应用功能编程风格。您将了解重要的新功能编程概念,从懒惰的评估到使用monads构建库的知识。我们将研究更大更复杂的示例,从状态空间探索到随机测试再到分立电路仿真器。您还将学习一些有关如何在现实世界中编写良好的Scala代码的最佳做法。 本课程的几个部分处理功能编程如何与可变状态交互的问题。我们将探索功能与状态相结合的后果。我们还将研究使用无限数据结构或功能性反应式编程的可变状态的纯功能性替代方法。 学习成果。在本课程结束时,您将能够:  -认识并应用功能程序的设计原则,  -设计功能库及其API,  -在一个程序中胜任地结合功能和状态,  -了解结合程序的推理技术    功能和状态,  -编写简单的功能反应式应用程序。 推荐背景:您应具有至少一年的编程经验。熟练使用Java或C#是理想的,但是也可以使用其他语言(例如C / C ++,Python,Javascript或Ruby)的经验。您应该对命令行有所了解。本课程旨在遵循Scala中的函数式编程原理进行学习:https://www.coursera.org/learn/progfun1。

课程标签

0人关注该课程

主题相关的课程