在本课程中,您将学习如何在设计大型 Scala 应用程序时应用函数式编程风格。您将了解重要的函数式编程新概念,从懒评估到使用 monads 构建库。从状态空间探索到随机测试,再到离散电路模拟器,我们将处理更大型、更复杂的示例。您还将学习如何在现实世界中编写优秀 Scala 代码的最佳实践。最后,您还将学习如何利用编译器从类型中推断值的能力。 本课程的多个部分涉及函数式编程如何与可变状态交互的问题。我们将探讨将函数与状态相结合的后果。我们还将使用无限数据结构或函数式反应编程,研究可变状态的纯函数式替代方案。 推荐背景:您应该至少有一年的编程经验。熟练掌握 Java 或 C# 是理想的选择,但掌握其他语言(如 C/C++、Python、Javascript 或 Ruby)也足够了。您应该熟悉使用命令行。本课程应在 Scala 中的函数式编程原理:https://hua.dididi.sbs/learn/scala2-functional-programming 之后学习。
了解顶级公司的员工如何掌握热门技能

该课程共有5个模块
首先,我们将重温从《Scala 函数编程原理》中学到的一些概念:集合、模式匹配和函数。然后,我们将讨论 for-comprehensions,这是 Scala 中遍历列表、处理列表并返回新列表的一种强大方法。我们将了解如何使用 for-comprehensions 进行查询,以及 Scala 编译器如何将 for-comprehensions "desugared" 为对高阶函数的调用。最后,我们将讨论什么是单体,以及如何通过一些示例验证单体法则是否满足要求。
涵盖的内容
10个视频10篇阅读材料3个编程作业
本周我们将重温由组合搜索引起的性能问题,并将发现函数式编程中可以解决这些问题的一个重要概念:懒惰。我们还将学习一些关于树证明的知识,尤其是如何将结构归纳法扩展到树上。
涵盖的内容
5个视频2个编程作业
本周,我们将学习如何让编译器为我们编写程序!我们将看到编译器如何根据程序的类型召唤程序片段,以及如何利用这种机制实现一种新形式的多态性(类型类)。
涵盖的内容
5篇阅读材料3个作业2个编程作业
本周,我们将学习状态和副作用。通过一个丰富的示例,我们将学习在大型程序中管理状态的编程模式。我们还将学习 Scala 中的 for 循环和 while 循环。
涵盖的内容
6个视频
本周我们将通过示例学习一些重要的编程模式,首先是观察者模式,然后是函数式反应编程。
涵盖的内容
4个视频2个编程作业
位教师

从 软件开发 浏览更多内容
- 状态:免费试用
École Polytechnique Fédérale de Lausanne
- 状态:预览
École Polytechnique Fédérale de Lausanne
- 状态:免费试用
École Polytechnique Fédérale de Lausanne
- 状态:免费试用
École Polytechnique Fédérale de Lausanne
人们为什么选择 Coursera 来帮助自己实现职业发展




常见问题
要获取课程资料、作业和证书,您需要在注册课程时购买证书体验。 您可以尝试免费试听,或申请资助。课程可能提供 "完整课程,无证书"。通过该选项,您可以查看所有课程资料,提交必要的评估,并获得最终成绩。这也意味着您无法购买证书体验。
购买证书后,您就可以访问所有课程资料,包括已评分的作业。完成课程后,您的电子证书将添加到您的 "成就 "页面--您可以从那里打印证书或将其添加到您的 LinkedIn 个人资料中。
是的。在特定的学习课程中,如果您付不起注册费,可以申请助学金或奖学金。如果您选择的学习课程有助学金或奖学金,您可以在说明页面找到申请链接。
更多问题
提供助学金,