Chevron Left
Back to Parallel programming

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

4.4
stars
1,839 ratings

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: https://www.coursera.org/learn/progfun2....

Top reviews

AL

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.

RC

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:

26 - 50 of 274 Reviews for Parallel programming

By Ivan S

Mar 11, 2018

I was tearing apart between 4 and 5. Still I liked the course very much asit provides great insight into parallel programming and algorithms. The problem are the assignments that feels a little unbalanced: week3 is just a few lines of code and feels more like quiz while others are quite challenging, but still it seems that a lot of work in assignments is already done by the teaching stuff.

By Vikram W

Feb 5, 2021

The assignments are tougher than expected. I was stuck on Barnes-Hut Simulation and Reductions assignment for more than weeks individually. The explanations are clear, but I wish the week 4 is explained with more clarity. It felt we just rushed into ConcTrees without enough context, and it would better to spend more time on the ConcTree topics and combiners.

By Matthew H

Nov 20, 2016

Many thanks Viktor and Aleksandar! A very interesting course which gave me a good appreciation of parallel programming in Scala, and helped me consolidate what I had learned in the previous 2 courses with Martin.

The exercises were just the right level of challenge, and demonstrated well the lecture content.

By Aliaksandr P

Jul 16, 2016

I like the course. I learned some nice ideas for parallel computations, not just Scala specific API.

To polish: sometime lectures and tasks contain many complicated but not significant details. And some important ideas are not emphasized. I had to filter the content carefully.

By Krishna A

Jun 12, 2017

A very good course which teaches the techniques of Parallel Programming. Anyone wishing to upgrade their knowledge about Parallel Programming, should take this course. The principles are applicable universally, so you can take back the learnings and apply them in your work!

By Lyman H

Jan 22, 2021

The explanations were accompanied by a level of mathematical rigor which helped clarify the material. I have used parallel machines pretty extensively and I was impressed at how much of this content was new to me. I found the assignments enjoyable.

By Santiago A

Jul 30, 2019

Unbelievable. This course is a must for those who are looking to work in depth with data parallel intensive applications like Spark and want to understand the mathematics underlying the parallel computing. Thank you very much Viktor and Aleksandar!

By Артем К

Oct 15, 2017

Nice course. Very interesting subjects, but have some cons. One is significant usage of imperative programming, also assignment`s difficulty level like a roller-coaster. Some was so easy and some was hard. Anyway, five stars for galaxy! :-)

By Ignacio G S

May 24, 2021

The course will introduce some topics on parallel programming and Scala. The lectures were complete and well explained. The assignments were a little difficult, specially the last one, but I managed to succeed after a few attempts.

By Evgeny P

Nov 13, 2016

Quality of course material is great, the way of presenting material is also great. For those who liked first course by Martin Odersky I highly recommend to do this one. I had a real pleasure watching lectures and doing assignments.

By Stanislav T

Jun 26, 2018

The topic is well explained in the videos and the assignments are challenging and fun. I really enjoyed how they (the assignments) are usually put in a context, e.g. they are part of some project and you can see some outcome.

By Roman

Jul 29, 2016

This is very interesting course that contains a lot of useful information related to parallel programming. Assignments are challenging enough and it is also interesting to tweak some code in assignments even after submitting.

By Anton M

Apr 5, 2020

Great course with challenging concepts to learn !

You'll study all fundamental ideas behind parallelism in Scala.

As a down sides, it's feels really short - only 4 weeks and sometimes instructors do not dive deep into details.

By Nicolas D

Aug 31, 2016

This course shows different techniques for parallel algorithm and is quite advanced. It succeeds to be deep yet understandable, challenging yet achievable. All in all it is very well taught with very interesting assignments.

By William H

Aug 13, 2017

The 3rd part in the set of scala specialization courses falls into place. This course is an introduction to the challenges of big data sets and the parallel computing solutions available to tackle it.

An excellent course.

By Török E

Jan 4, 2017

Presents Scala's parallel collections, and how they work under the hood. The prefix-sum algorithm is quite mind-blowing, and so are Conc-Trees. The algorithms are presented with plenty of detail, step by step, I enjoyed it!

By Jong H S

Aug 19, 2017

This course is a gem. The instructors' knowledge is of the highest quality, the contents are of the highest quality and the programming assignments are of the highest quality. All in all, this course is of Rolex quality.

By Ashvin L

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.

By ravi c

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.

By viktor o

Dec 19, 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

By Eric L

Aug 14, 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.

By Wiktor D

Sep 23, 2016

Very good introduction to the topic. Examples and programming exercises were very good, although last assignment was visibly less polished than earlier ones.

By Korntewin B

Jan 27, 2021

This course introduce me to a new world of parallel programming! Must learn for whoever that want to expand the skill set of programming to the new level.

By Tony H

Oct 4, 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.

By Aleksander S

Nov 18, 2017

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