Chevron Left
返回到 并行编程

并行编程, 洛桑联邦理工学院

4.4
1,513 个评分
233 个审阅

课程信息

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. Learning Outcomes. By the end of this course you will be able to: - reason about task and data parallel programs, - express common algorithms in a functional style and solve them in parallel, - competently microbenchmark parallel code, - write programs that effectively use parallel collections to achieve performance 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 Program Design in Scala: https://www.coursera.org/learn/progfun2....

热门审阅

创建者 AL

Apr 24, 2018

The course is fairly advanced and you would need to review the materials many times to understand the concept. The assignments are definitely fun and not as straightforward as other courses.

创建者 RC

Aug 25, 2017

Superb study material. Learnt a lot during this course. I am not much into mathematical stuff, but got a hang of how to break problems and improve efficiency through parallelism.

筛选依据:

221 个审阅

创建者 Joël Vallone

Apr 22, 2019

This course introduces an elegant and practical alternative to purely lock based parallelism by exploiting data & task parallelism intrinsic to many problems. It also emphasizes the mathematical requirements to use such tooling. The course slides/videos provide an good theoretical introduction with short code examples. The (fun ;-) )ctional exercises greatly echo the theoretical course with problems which appear almost effortless to parallelize.

创建者 Marcin Zabłocki

Apr 16, 2019

First 3 weeks were cool, but the last week was somehow rushed and the assignment did not involve any parallel programming.

创建者 Sviridenko Konstantin

Mar 26, 2019

Amazing practice assignments! It was very interesting to solve them.

创建者 Šejla Čebirić

Mar 08, 2019

Plus: Very in-depth lectures, challenging assignments. Minus: The actual parallel code somewhat remains a black-box, assignments sometimes focus more on figuring out the algorithm logic which may not have anything to do with the course. Still I enjoyed it and learned a great deal.

创建者 Alexey Korpukhnov

Jan 31, 2019

It would be great to add some popular frameworks and some basics of reactive programming

创建者 Ilya Babich

Jan 20, 2019

The tasks are not well designed for online education

创建者 Dean Thomas

Jan 04, 2019

Needs to be updated for more modern versions of Scala.

创建者 Anton Bossenbroek

Dec 10, 2018

it would be great to have a few more pointers how to debug code in parallel

创建者 Denys Lobur

Dec 10, 2018

Nice and complicated

创建者 Bruno Medeiros

Dec 03, 2018

Very good introductory theoretical foundation for parallell algorithms, and background for

the Big Data Analysis with Scala and Spark course.