课程主页: https://www.coursera.org/learn/scala-functional-programming
课程概述
函数式编程正在工业界越来越广泛地应用,这一趋势的推动因素是Scala作为许多应用的主要编程语言的采用。Scala将函数式编程和面向对象编程融合在一个实用的包中,能够与Java和JavaScript无缝互操作。Scala是许多重要框架的实现语言,包括Apache Spark、Kafka和Akka,支撑了Twitter、Netflix、Zalando等网站的核心基础设施。
课程大纲
第一周:入门 + 函数与评估
本周将教您如何在计算机上运行Scala,并完成一个示例作业,以帮助您熟悉独特的作业提交方式。我们将学习函数式与命令式编程的区别以及Scala的基本知识,包括表达式、评估、条件语句、函数和递归。
第二周:高阶函数
我们将学习将函数视为一等值的高阶函数,以及Scala的语法是如何被正式定义的。我们还将学习方法、类和数据抽象,通过设计一个有理数的数据结构来进行。
第三周:数据与抽象
本周我们将讲解特质,学习如何将类组织为层次结构,并涵盖标准Scala类型的层次结构,最后触及Scala中不同类型多态的探讨。
第四周:类型与模式匹配
我们将探讨Scala中函数与对象之间的关系;函数就是对象!我们将深入了解Scala的类型系统,包括子类型和泛型,最后介绍Scala最广泛使用的数据结构列表及其强大的工具模式匹配。
第五周:列表
本周重点学习列表,这是Scala中最常用的数据结构。
第六周:集合
在深入学习列表后,本周将探索其他数据结构,包括向量、映射、范围、数组等。我们还会深入研究Scala强大而灵活的for-comprehensions,用于查询数据。
课程主页: https://www.coursera.org/learn/scala-functional-programming