Back to Parallel programming
École Polytechnique Fédérale de Lausanne

Parallel programming

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.

Status: Algorithms
Status: Performance Tuning
IntermediateCourse33 hours

Featured reviews

EL

5.0Reviewed Aug 13, 2016

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.

YS

4.0Reviewed May 16, 2017

The assignment could be optimized and avoid to be more academic since it may make student lost focus and spend too much time on the question itself rather than the parallel programming

SG

4.0Reviewed Sep 16, 2016

Good explanations, relevant assignments. But too small, too little graded assignments as for subject. Be better if the assignments has less starter code.

AL

5.0Reviewed Apr 23, 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.

RW

4.0Reviewed Dec 10, 2016

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.

RC

5.0Reviewed Aug 24, 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.

JD

4.0Reviewed May 20, 2020

At its begining, this training doesn't look as polished and refined as the previous ones animated by Martin Odersky, but it quickly catch up with very efficient lessons and great practice exercises.

AS

5.0Reviewed Nov 17, 2017

I learned a lot about parallel processing algorithms, way more than I expected. Even after spending over 10 years programming parallel data processing.

BP

4.0Reviewed Dec 19, 2016

Very good course overall on the basics of parallel programming in scala. Would have been nice to talk a bit more on the low level setup (parallel and task construct code).

SN

4.0Reviewed Jul 5, 2020

I really learned to think of parallelism in different ways. My only issue was that a lot of the exercises required good spatial skills which are not my strength. Somehow though I passed.

KN

4.0Reviewed Aug 6, 2016

The course was really good. Got to learn so much about parallel programming with that course. The explanation level is very basic and any Computer Science related person can easily grasp the concepts

VO

5.0Reviewed Dec 18, 2016

excellent course, a good way to showcase how scala is well suited to patallel programming.The course itself is very practical and the instructors are very knowledgeable

All reviews

Showing: 20 of 276

Kinshuk Varshney
3.0
Reviewed Dec 16, 2017
Marcin Zabłocki
4.0
Reviewed Apr 16, 2019
Vadim Olijnyk
1.0
Reviewed Apr 2, 2018
Steve Sekowski
3.0
Reviewed Nov 16, 2017
Leitner Catalytics, S.L., ESB87366886, Spain
4.0
Reviewed Nov 21, 2017
Samir Sheriff
5.0
Reviewed Jul 19, 2020
Hessam Shafiei Moqaddam
5.0
Reviewed Feb 8, 2018
Li Zhu
5.0
Reviewed Jul 18, 2017
Rishi Khetan
5.0
Reviewed Sep 12, 2016
murmelssonic
5.0
Reviewed Aug 15, 2016
Xiongchu Wu
5.0
Reviewed Dec 6, 2016
Vital Aza
5.0
Reviewed Feb 17, 2017
Joël Vallone
5.0
Reviewed Apr 22, 2019
Massimiliano D’Acunzo
5.0
Reviewed Nov 9, 2018
Natalija Ilic
5.0
Reviewed Mar 16, 2018
Marek
5.0
Reviewed Jun 29, 2016
Roberto Santamaria
5.0
Reviewed Jun 23, 2017
Victor Arias
4.0
Reviewed Aug 11, 2018
Šejla Čebirić
4.0
Reviewed Mar 8, 2019
Ilya Babich
4.0
Reviewed Jan 20, 2019