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.
提供方

课程信息
您将获得的技能
- Data Structure
- Parallel Computing
- Data Parallelism
- Parallel Algorithm
提供方
授课大纲 - 您将从这门课程中学到什么
Parallel Programming
We motivate parallel programming and introduce the basic constructs for building parallel programs on JVM and Scala. Examples such as array norm and Monte Carlo computations illustrate these concepts. We show how to estimate work and depth of parallel programs as well as how to benchmark the implementations.
Basic Task Parallel Algorithms
We continue with examples of parallel algorithms by presenting a parallel merge sort. We then explain how operations such as map, reduce, and scan can be computed in parallel. We present associativity as the key condition enabling parallel implementation of reduce and scan.
Data-Parallelism
We show how data parallel operations enable the development of elegant data-parallel code in Scala. We give an overview of the parallel collections hierarchy, including the traits of splitters and combiners that complement iterators and builders from the sequential case.
Data Structures for Parallel Computing
We give a glimpse of the internals of data structures for parallel computing, which helps us understand what is happening under the hood of parallel collections.
审阅
- 5 stars59.81%
- 4 stars28.36%
- 3 stars9.18%
- 2 stars1.92%
- 1 star0.71%
来自并行编程的热门评论
A worthwhile course. I enjoyed the lectures a lot. Really good grounding on principles which can be applied in other languages/platforms in addition to Scala.
Very good. Only things I wish were better is more comments in some assignments and more prepared tests. Also I miss not having "Statement of Accomplishment" like some other Scala courses :-(.
Very challenging course, the assignments are more about practising using parallel programming, would be better to design an assignment to implement the parallel programming.
Good course but scala understanding is required for this course. So please register for prior course in the certification task to easily complete this course.
关于 Functional Programming in Scala 专项课程
Discover how to write elegant code that works the first time it is run.

常见问题
我什么时候能够访问课程视频和作业?
我订阅此专项课程后会得到什么?
有助学金吗?
还有其他问题吗?请访问 学生帮助中心。