Chevron Left
返回到 并行编程

學生對 洛桑联邦理工学院 提供的 并行编程 的評價和反饋

4.4
1,817 個評分
281 條評論

課程概述

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

熱門審閱

AL

2018年4月23日

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

2017年8月24日

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.

篩選依據:

151 - 并行编程 的 175 個評論(共 269 個)

創建者 Brad H

2017年12月3日

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.

創建者 Benjamin S

2016年11月3日

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.

創建者 Joaquin B

2016年10月27日

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.

創建者 Franklin P

2016年10月12日

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.

創建者 Nikogosov D

2017年7月3日

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.

創建者 Nikolay M

2016年6月9日

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.

創建者 Oleksiy P

2017年4月21日

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?

創建者 Luca D S

2017年12月1日

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

創建者 Agustín B S

2017年6月19日

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?

創建者 Franco B

2021年11月17日

The theory is superb and both instructors are experts in the field, you likely won't find many of the course's concepts online easily. The assignments could've focused a lot more on implementing parallelism itself, rather than implementing algorithms which take advantage of already implemented parallelism.

創建者 Mike D

2016年8月21日

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!

創建者 Romanna K

2017年1月1日

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.

創建者 Alexey P

2019年9月13日

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.

創建者 Álvaro L L

2016年9月24日

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!

創建者 Sérgio T

2016年11月16日

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.

創建者 Valters V

2016年9月25日

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.

創建者 Evgeny T

2016年11月10日

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.

創建者 Viacheslav I

2017年6月3日

Interesting course, very useful to get to know concepts of parallel programming. Assignments could be a little bit simpler but involving more programming from scratch, not just filling in methods bodies. This would help more to understand concepts.

創建者 Stefano P

2016年11月21日

Some problems with downloads and to view videos on the mobile app (Android), with some videos recorded with a low volume.

Despite that interesting and I think would need more time to get deeper in the concepts showed.

創建者 Patrick L

2016年8月28日

I learned very useful programming techniques, but I'm a bit lost as to whether these techniques are "good practices" or if they are "existing parallel programming features in Java, transposed as-is in Scala"

創建者 Mateusz K

2016年10月2日

Appreciate the time spent by the authors to prepare all the course materials and the assignments. Everything clear and relatively self-contained. However, I still do not feel to be an expert in parallelism.

創建者 Kaushik N

2016年8月7日

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

創建者 Jean-Baptiste D

2020年5月21日

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.

創建者 Martin K

2016年6月22日

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

創建者 Steve N

2020年7月5日

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.