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.

IntermediateCourse33 hours

Featured reviews

MK

4.0Reviewed Jun 21, 2016

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 :-(.

RD

4.0Reviewed Mar 31, 2017

Its a very good course! perhaps the in the practice code, before jumping into the problems they can provide a couple of simple examples/questions such that the main ideas are learnt.

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

GE

4.0Reviewed Mar 28, 2018

For this course you should have Advanced English level. Cause sentesce construction is so difficult and words so unusual that i had to some times google what i have to do.

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.

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.

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.

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.

TH

5.0Reviewed Oct 3, 2017

Very deep. I learned a lot of useful techniques. But I know it will take me many years before I can say I have mastered subject touched in this course.

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.

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).

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.

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