Chevron Left
返回到 Parallel programming

学生对 École Polytechnique Fédérale de Lausanne 提供的 Parallel programming 的评价和反馈

4.4
1,844 个评分

课程概述

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://hua.dididi.sbs/learn/progfun2....

热门审阅

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.

筛选依据:

126 - Parallel programming 的 150 个评论(共 276 个)

创建者 Damien F

Dec 3, 2016

Great material.

创建者 Jakub T m G

Jun 27, 2017

great insights

创建者 Gian U L

Sep 5, 2016

Even more fun!

创建者 Yevgeny E

Apr 21, 2022

Great course.

创建者 Jose M N

Apr 25, 2018

Great course!

创建者 Mykola S

Jul 22, 2017

Great course!

创建者 Kovalenko S

Jul 20, 2017

Классный курс

创建者 Hulevskyi D

Jun 20, 2016

Great course!

创建者 Laerti P

Apr 25, 2017

Great course

创建者 Gao Y

Feb 14, 2017

Nice course!

创建者 Скриннік В

Nov 23, 2020

Cool course

创建者 Uma M G

Aug 24, 2019

best course

创建者 DAVID J A

Feb 12, 2018

Brilliant!!

创建者 Animesh K

Aug 8, 2017

Cool course

创建者 Leonardo C

Jun 21, 2019

Very good!

创建者 Sanjeev R

Aug 26, 2019

Excellent

创建者 Bjornn B O F F

Jun 27, 2017

Awesome!

创建者 Yuriy B

Aug 3, 2017

Thanks!

创建者 Deleted A

May 28, 2016

Super!

创建者 Kevin L

Dec 8, 2020

It is a good introduction to parallel programming with Scala as the language and some relevant scenarios in which the paradigm is useful. It would be nice to have some of the lecture materials updated to Scala 2.13 as there have been changes to Scala's parallel collection/package in the past couple years. I still benefited from having to troubleshoot and fix problems as I followed along with code samples from the lectures. The assignments are challenging but manageable. I actually find myself wanting less code pre-populated once I got comfortable with the syntax and material. I appreciate there are optional challenges for those who want to learn more, e.g. code optimizations, proofs of associativity and commutativity,

创建者 Oleksandr I

May 20, 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.

创建者 Sriram 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.

创建者 Hristo I

Nov 1, 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.

创建者 Daniel B

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

创建者 P G

Nov 1, 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.