Chevron Left
Parallel programming に戻る

スイス連邦工科大学ローザンヌ校(École Polytechnique Fédérale de Lausanne) による Parallel programming の受講者のレビューおよびフィードバック

4.5
1,607件の評価
242件のレビュー

コースについて

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

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.

フィルター:

Parallel programming: 201 - 225 / 230 レビュー

by Joseph K

Jul 31, 2017

Lectures are not easy to understand. It almost feels like they plucked various sections from a longer course.

by Valerio M

Nov 27, 2016

Interesting course, but far too short. It ends up giving a quick introduction to some of the aspects of parallel programming. I enjoyed the assignments, apart from last one where the difficulty was more about the context of the example than any parallel programming aspects. That example, extended, could be a good capstone project, but I think it was not appropriate as a course assignment. I prefer courses that follow a book, and this course didn't.

by Luis V

Nov 10, 2017

Good course and good level on the assignments but needs a lot of improvement on the lectures, specially in the two last weeks.

by Aleh V

Mar 03, 2017

Wrongly assumes that it'll be easier for students to jump from the conventional 'parallel' java paradigms and constructs to parallel streams.

Not a good job on explaining why. It'll require from students some efforts to create the right picture in their minds.

Exercises are great and partially make up for the above mentioned shortcomings.

Some example code is very bad and goes against all the 'good' things being taught by Martin in the first course of the specialization.

by Igor W

Jun 12, 2017

Too much imperative technics in this "functional" parallel programming course.

by Evgenii S

Jun 24, 2018

For now, the worst course in Specialization.

by Steve S

Nov 16, 2017

This course was okay, but I feel it could use some work. For starters:

-I feel some of the longer assignments should be split up into several weeks (the Barnes-Hut one for example, since there's a lot to implement and it took a while to understand conceptually).

-I feel that some parts of the assignment specs could be more clear. For example, in the K-means assignment, it was mentioned to use the "square distance" between the means to determine if the algorithm had converged or not and I feel it would be useful to provide a mathematical formula here (or at least give the name of the formula i.e., Pythagorean).

-I wish there was more focus on making the assignments practical instead of something that's more sophisticated. For example, it would've been nice to have an assignment for week 4 that allowed us to practice implementing a variety of parallelizable data structures and focus on making them as efficient as possible.

by Kinshuk V

Dec 16, 2017

Although the course is taught well and covers a lot of ground, it is my opinion that the course content is not relevant to what I and majority of other Scala developers were looking for in terms of parallel programming. The instructor has been upfront in differentiating parallel programming (the objective of this course) from concurrency programming. However, I was more interested in learning about concurrency, especially about Akka actors, etc. I wish there was a course of Akka, which is what most Scala developers use for concurrent applications.

by Pavel O

Oct 02, 2016

Good course. But I have a strong feeling that would be nice to have more focus on the practice. Some lecture not really much with the results of assignments. Good course anyway. Pavel

by Hadrien H

Dec 20, 2016

Content is good, less well polished than Odersky's courses though. Painful exercises with a lot of time spent on understanding the instructions instead of focusing on learning parallelism methods (especially the final assignment). Overall happy to have learnt from this, but clarity of assignments should be improved.

by Andy D

Jan 14, 2017

In my view, this course was nowhere near as good as the earlier courses by Prof Odersky. The materials and pacing seemed all over the place - in some cases excessive time was spent going through quite trivial concepts, while elsewhere the course seemed quite rushed when looking at much more complicated ideas.

by Rudolf Z

Sep 20, 2017

Most of assignments are good. They show applications of parallel programming very well. Some lectures are booring? but important. For instance, lectures about assotiativity.

by 家伟 陈

Dec 21, 2017

Not friendly with beginners in Scala. You will be presented with tons of Scala code with minimal detailing on algorithms. Obviously the lecture expects you to be quite familiar with Java and Scala. And the lecture is not very informative either (at least for green hands in Scala). I found that the best way that works for me is to pause at each slide, study the code, and then go on to see what the lecture has to say.

by Guomao X

Aug 17, 2016

should contain more details

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.

by Sangam K

Sep 30, 2017

I didn't like the last assignment. I didn't think there was much to learn there. I would've liked to implement more splitters and combiners. I did like the first 3 assignments very much. The lectures were pretty good, but I found myself loving some, and hating the others. I would've preferred more practical applications over theory. I think the lectures are un-necessarily math heavy.

by Gabriel G

Oct 31, 2016

Deep lectures, but exercises where more about complex problems than about parallel programing

by Lestar C

Jun 14, 2017

Not enough Scala. Akka version was better :(

by Anton K

Aug 05, 2016

The course presents two core approaches to parallel programming - task and data parallelism. While these concepts are really useful, I expected more details on, for example, how to implement the _parallel_ construct used throughout the lectures. The materials were good and I can use some of the ideas straight after the lectures in my everyday coding, but the assignments were really slightly related to the topic.

Barnes Hut simulation assignment. I'd say it has nothing in common with parallel programming in Scala. It looks like the authors looked for some real-life example or use case for Combiners and this simulation model looked nice. But, really, does any developer not working in university would ever use it? It's completely impractical, the most of the time I spent reading the description of simulation model, but the coding itself was just playing with 2D coordinates and some basic recursion. I'd expect something more practical, e.g. implementing simplified form of Hadoop map-reduce or something like that so I can use it after the course. But Barnes-Hut is too specific and is pretty far from everyday problems developers encounter.

by Robert S

Jul 14, 2017

While some the material was useful, I was extremely disappointed with this course. The first two lectures were nearly intolerable to listen to, and the last assignment was very poorly designed and documented. I would not recommend this course to anyone unless it was significantly redesigned and updated.

by Oleg S

Feb 09, 2017

For a while, that's the worst course of scala specialization. All the parallelism is just obvious division of a one big piece on several small pieses, and perfrom parrallel tasks on it. It's enogh to write merge sort with several threads to get the main idea, which is proposed here. You don't need to watch 4 weeks of coursera video and perform tasks to get it. Maybe I'm wrong, but I expected something more than trivial division. Besides that, I don't like the tasks. And I hate the last one week. Very bad description of the problem, it made me really suffer. I'd like much more the first 2 courses. Which I rated as 5 and 4 accordingly, but this one is fail. Besides that, I like the theory about parallel and concurent programming, and all the stuff about "iron". Hope the 4th one course will be better.

by Tony B

Jun 30, 2016

Excellent lectures, let down by the difficulty of the assignments.

While the tutors clearly know their stuff, I found the assignments really quite challenging and of limited educational value due to the mixture of new concepts introduced by the lectures along with new (to me) mathematics or CS that also needed to be grasped.

I'm an experienced professional programmer with the EPFL 'FP in Scala' and FRP courses under my belt, so I thought I knew what to expect but this was much more time consuming than I'd thought.

by Marco G

Nov 07, 2016

It's difficult to follow the content. The way it is organized could be greatly improved.

by martin r

Sep 03, 2016

The approach in this course is incorrect, I think that will be a course with more concret examples, but is a course with a lot of teory that is not applied.

by antonin p

May 21, 2017

This course is definitely too low level for me, it is also very scientific computation oriented. It was an interesting parenthesis in this cursus, but not with the time taken. Lesson emphasis too much on specific implementation tricks, and are sometimes hard to follow. Also coding style differs greatly from coding style of other lessons (lots of mutability, intensive usage of explicit loops).