Chevron Left
Back to Parallel programming

Learner Reviews & Feedback for Parallel programming by École Polytechnique Fédérale de Lausanne

1,808 ratings
280 reviews

About the Course

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:

Top reviews

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.

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.

Filter by:

201 - 225 of 268 Reviews for Parallel programming

By Alexey K

Jan 31, 2019

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

By Vladislav A

Apr 8, 2020

Totally appreciated. Unfortunately coped to find a small bug in testing system :)

By Patrik I

Dec 17, 2019

The feedback from the instructors could be more timely. Otherwise a great course

By Yiran W

Jul 18, 2018

just one point to improve: some lib in Scala are not be told to install and use

By Igor R d S

Oct 23, 2016

Not as good as the first two courses from the specialization, but still good

By Anton B

Dec 10, 2018

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

By Давиденко А Ю

Mar 19, 2021

Interesting, but a lot of theory. The task of 4 weeks is very difficult.

By Jędrzej B

May 22, 2020

Not bad, but I was hoping for more in-depth course. Worth taking though.

By Kyoung-Seop P

Jan 24, 2017

What a difficult course it is!

Nevertheless, it was very helpful.

By Daniel D

Dec 29, 2016

Very well delivered course, more examples are needed though.

By Youwei Z

Sep 13, 2016

good in general, theory part on complexity is too tedious

By Dean T

Jan 3, 2019

Needs to be updated for more modern versions of Scala.

By Seoh C

Oct 4, 2017

unhelpful assignment instructions and test cases.

By Konstantin K

Oct 28, 2016

good overall, but sometimes overly complicated

By Shi Y

Sep 13, 2019

Some instruction is pretty confusing

By Ilya D

Jun 22, 2016

Assignments weren't challenging.

By David P

Jan 25, 2017

Nice course! I learned a lot...

By rafael f o

May 9, 2020

Spanish traduction please


May 14, 2021

Nice but a bit involved

By Théophile G

Jul 17, 2017

Pretty good course

By Pedro R

Mar 15, 2017

Great course!

By c86jeff

Jan 22, 2017

learned a lot

By dh l

Dec 7, 2016


By Taewoo K

Apr 26, 2020

Good !

By Adam S

Jun 21, 2016

Good learning materials, however the assignments are designed for compute science students rather than professional software developers as the most important part of the assignments is not parallel code, but it is algorithms. Yes, there is parallel code in the code of the assignments, but it is mostly written and your task is to implement the algorithm using this existing parallel code, while in my opinion it should be the other way around - you should implement parallel code and algorithms code should be already provided for you.