Chevron Left
Volver a Parallel programming

Opiniones y comentarios de aprendices correspondientes a Parallel programming por parte de École Polytechnique Fédérale de Lausanne

4.5
estrellas
1,669 calificaciones
248 revisiones

Acerca del Curso

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

Principales revisiones

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.

Filtrar por:

126 - 150 de 236 revisiones para Parallel programming

por Deleted A

May 28, 2016

Super!

por Oleksandr I

May 21, 2017

Excellent course. Gives deep enough understanding of parallel programming. Used knowledge immediately to optimize my huge in-mem data structure to reach 50 ms (instead of 300 ms) response time. I'd suggest the following to improve: 1. I'd make "pass" score no less then 90 or even 95%. With 80 only it is possible to PASS having key mistake (e.g. on week4 I haven't created a new combiner, using old one, in combine() operation, and I still got 80 - PASSED) 2. tests in grader are hard to reproduce on local machine: it is not that obvious what's wrong, where to focus.

por Sriram K M K

Oct 31, 2016

Most of the concepts and explanations were good but the assignments could be better organized. I wasn't sure what I was doing for a while, and the test cases don't cover the code in a way that progresses naturally. Some parts of it can't be tested until most of the code is written, and then major portions of the code isn't even tested until it's submitted. It would be great if the tests progressed along with the code and people didn't have to guess at the correct solution but just knew it was right when they got it.

por Hristo I

Nov 01, 2016

The course is pretty hard, even for someone like me, who has been working in parallel computing for years. The reason is the structure of the course and the presentation of the material. The topics are somewhat chaotic and in many cases it is hard to tell whether a certain operator comes from the Scala standard library or is just an abstraction.

All in all, finishing the course is a rewarding experience. But beware, there is a significant gap between the foundation courses taught by Martin Odersky and this one.

por Daniel B

Oct 10, 2019

Good course with a lot of interesting ideas and explanations. The reason I gave it a 4 and not a 5 is that I think it would have been better without involving instructors' own library on top of Scala instead of teaching Scala-level constructs directly. While I appreciate the notion of teaching general parallel programming ideas, introducing one's own constructs to promote it seems unnecessary - at the very least, these constructs' implementation should have been thoroughly explained in the course.

por Piotr G

Nov 01, 2017

This is a good course that has some really interesting assignments. The lectures are understandable and the topics are explained a bit nicer than a lot of theory in the other Scala courses from Martin Odersky, who conveys knowledge in a more "textbook" form. I am, however, taking one star out for the last assignment which was rather muddy in terms of explanation, long and not easy to debug due to it's size and parallel aspects. I felt way more positive about all other assignments on this course.

por Gabriele A

Oct 30, 2019

Really cool course. I'm enjoying scala as a language as it has many simple methods to achieve complex goals, including parallelization, however this course also presents parallelism in a rawer fashion explaining in depth some of the techniques to parallelize seemingly sequential-only tasks.

Last week's exercise is quite long, and albeit being a truly beautiful project, most of the implementation is not strictly related to parallel programming.

In any case a totally good course!

por Luciano P d S P

Sep 12, 2016

The course was well covered and very informative. As someone with zero experience in parallelism, I felt I could've absorbed a lot more if the topics were not completely new to me.

As mentioned in other reviews, the last assignment, Barnes Hut Simulation, was very time consuming and I found myself spending more time trying to understand the problem rather than implementing it. That was very challenging for someone with low academic background.

por Evaldas M

Oct 29, 2016

The course was ok, but at times too much theoretical when it comes to proofs of some methods are working as expected. I think its good to know the principles of parallelizing application and changing the potential algorithms, but this has applicability only in specific fields like comlex computations that need to be highly parallelized and less likely you would use these principles in standard backend development

por Brad H

Dec 04, 2017

There was some really nice material covered in this course. For me, this was the best one so far in the series. The instructors presented clear and understandable lectures. The week #4 programming task was a bit harder for me, but only because I kept forgetting to think simple and reflect on what had been covered in the course. Once I stepped away and came back everything fell into place.

por Benjamin S

Nov 03, 2016

Great explanations and insights around parallel programming. The instructors help you understand how parallel programming works and are doing great in making the complex topic understandable. To improve it further, there could be more explanations on performance differences between alternative solutions as well as some guidance on how to apply these ideas in practical Scala programming.

por Joaquin B

Oct 27, 2016

Awesome course to learn parallel programming and advantage of scala to achieve this.

Learned how to think algorithms in parallel being careful that it's not always better to do everything in parallel.

The only thing I didn't like that much is that the course has too many mathematical explanations and maybe that lectures should be optional for those that want to go further.

por Franklin P

Oct 12, 2016

This course had a lot of depth to it, both in the lectures and the programming assignments. The last assignment seemed needlessly complex with not enough focus on the parallel programming aspect. I wish there had been more of a focus on how to actually write the parallel and task constructs which were instead given already implemented without much explanation.

por Nikogosov D

Jul 03, 2017

Too difficult, especially the last week, especially for person without strong math background. I felt that material from the two last weeks is important and necessary to grasp PP, but speed should be slower.

I think the best way to improve this course would be splitting 3 and 4 weeks to obtain 6 weeks course like the first one in the specialization.

por Nikolay M

Jun 09, 2016

On the plus side:

The material is presented in concise and efficient manner. It required little knowledge of Scala and JVM. It kept hidden the underlying implementation of parallelism and task utilities.

On the minus side:

The homeworks were easy. I could fill in the gaps almost automatically and I don't feel like I know the matter.

por Oleksiy P

Apr 21, 2017

I have one issue about week 4 "Append" tree. I did not get how Append correlates with binary digits. I would like to have some step by step example how will we create a tree like s1 = Single(1) appendLeaf Single(2), s2 = s1 appendLeaf Single(3), s3 = s2 appendLeaf Single(4), s4 = s4 appendLeaf Single(5) using binary digits?

por Luca D S

Dec 01, 2017

The course got me a bit lost on the most theoretical parts about folding, because the explanations and the whole concept take a while to arrive to a completion, being quite complicated. I had to re-run over those a few times. Nevertheless, all the comparison between aggregators and lego blocks help quite a lot

por Agustín B S

Jun 19, 2017

I find the contents (theory behind) more challenging to follow than previous courses on the specialization, the nice thing is that the practical exercises are built so that they are still manageable and a good help to understand the lessons. I am missing Scala's actor model in this course, why is not there?

por Mike D

Aug 21, 2016

The course achieves its objectives, but the assignments require too much effort for solving general problems, and relatively little for parallelism-related tasks. In other words, understanding what the problem is takes far more time than solving it. The Lego-assisted teaching is a definite plus though!

por Romanna K

Jan 01, 2017

Would be good to introduce more about Scala native solutions like Futures, parallel data structures and best ways of using them on practice, cases and best practices how to work with shared data, avoid deadlocks, how to work best when you have to process large data or when you have massive calculations.

por Alexey P

Sep 13, 2019

It would be great to have some tests for understanding algorithms (like in algorithms course), not only practice programming assignments. Assignments are really interesting but can't verify your understand material or not. Also it is possible to pass assignment event if you have mistakes in the code.

por Álvaro L L

Sep 24, 2016

Some missed explanations in the first week (mergedSort implementation)

Tha last two videos are quite difficult to understand. The ConcBuffer structure seems to be poweful, but the explanation and examples are tight.

In this course, the weekly tasks are explained very well. Thank you very much!

por Sérgio T

Nov 16, 2016

It requires more effort on undestanding the algorithms involved in the problems, rather than paralelism and its techniques. Instead of 4 weeks it would benefit of an additional week - for those who take the course after the regular work hours at their job. So 5 weeks would be more adequate.

por Valters V

Sep 25, 2016

I feel the concepts which are necessary to use in programming assignments are not discussed in the lectures enough. As result figuring out what the assignment steps are all about takes too much time. Some tasks are absolutely trivial, and others are simply too difficult.

por Evgeny T

Nov 10, 2016

There are some really boring parts, like 10 first minutes of many videolectures. It's kinda difficult to watch list.map explained in detail, since it's a course supposed to be taken after the one on basic Scala.

Overall - it's really good, I learned a lot.