- Scala Programming
- Parallel Computing
- Apache Spark
- Functional Programming
- Recursion
- Immutable Data Types
- Higher-Order Function
- Laziness
- Type Class
- Referential Transparency
- Reactive Programming
- Data Structure
Functional Programming in Scala 专项课程
Program on a Higher Level. Write elegant functional code to analyze data that's big or small
提供方

您将学到的内容有
Write purely functional programs using recursion, pattern matching, and higher-order functions
Design immutable data structures
Write programs that effectively use parallel collections to achieve performance
Manipulate data with Spark and Scala
您将获得的技能
关于此 专项课程
应用的学习项目
Learners will build small to medium size Scala applications by applying knowledge and skills including: functional programming, parallel programming, manipulation of large data sets, higher-order functions, property-based testing, functional reactive programming.
At least one year of programming experience, in any language.
At least one year of programming experience, in any language.
专项课程的运作方式
加入课程
Coursera 专项课程是帮助您掌握一门技能的一系列课程。若要开始学习,请直接注册专项课程,或预览专项课程并选择您要首先开始学习的课程。当您订阅专项课程的部分课程时,您将自动订阅整个专项课程。您可以只完成一门课程,您可以随时暂停学习或结束订阅。访问您的学生面板,跟踪您的课程注册情况和进度。
实践项目
每个专项课程都包括实践项目。您需要成功完成这个(些)项目才能完成专项课程并获得证书。如果专项课程中包括单独的实践项目课程,则需要在开始之前完成其他所有课程。
获得证书
在结束每门课程并完成实践项目之后,您会获得一个证书,您可以向您的潜在雇主展示该证书并在您的职业社交网络中分享。

此专项课程包含 5 门课程
Scala 函数式程序设计原理
Functional programming is becoming increasingly widespread in industry. This trend is driven by the adoption of Scala as the main programming language for many applications. Scala fuses functional and object-oriented programming in a practical package. It interoperates seamlessly with both Java and Javascript. Scala is the implementation language of many important frameworks, including Apache Spark, Kafka, and Akka. It provides the core infrastructure for sites such as Twitter, Netflix, Zalando, and also Coursera.
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.
并行编程
With every smartphone and computer now boasting multiple processors, the use of functional ideas to facilitate parallel programming is becoming increasingly widespread. In this course, you'll learn the fundamentals of parallel programming, from task parallelism to data parallelism. In particular, you'll see how many familiar ideas from functional programming map perfectly to to the data parallel paradigm. We'll start the nuts and bolts how to effectively parallelize familiar collections operations, and we'll build up to parallel collections, a production-ready data parallel collections library available in the Scala standard library. Throughout, we'll apply these concepts through several hands-on examples that analyze real-world data, such as popular algorithms like k-means clustering.
Big Data Analysis with Scala and Spark
Manipulating big data distributed over a cluster using functional concepts is rampant in industry, and is arguably one of the first widespread industrial uses of functional ideas. This is evidenced by the popularity of MapReduce and Hadoop, and most recently Apache Spark, a fast, in-memory distributed collections framework written in Scala. In this course, we'll see how the data parallel paradigm can be extended to the distributed case, using Spark throughout. We'll cover Spark's programming model in detail, being careful to understand how and when it differs from familiar programming models, like shared-memory parallel collections or sequential Scala collections. Through hands-on examples in Spark and Scala, we'll learn when important issues related to distribution like latency and network communication should be considered and how they can be addressed effectively for improved performance.
提供方
常见问题
退款政策是如何规定的?
我可以只注册一门课程吗?
有助学金吗?
我可以免费学习课程吗?
此课程是 100% 在线学习吗?是否需要现场参加课程?
完成专项课程后我会获得大学学分吗?
How long does it take to complete the Functional Programming in Scala Specialization?
此专项课程中每门课程的开课频率为多久?
What background knowledge is necessary?
Do I have to take the courses in this Specialization in a specific order?
Will I earn university credit for completing the Functional Programming in Scala Specialization?
Are there any recommended readings for this specialization?
还有其他问题吗?请访问 学生帮助中心。