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 …
Instructor Details
Courses : 1
Specification: Parallel programming
|
47 reviews for Parallel programming
Add a review Cancel reply
This site uses Akismet to reduce spam. Learn how your comment data is processed.
Price | Free |
---|---|
Provider | |
Duration | 16 hours |
Year | 2016 |
Level | Intermediate |
Language | English |
Certificate | Yes |
Quizzes | Yes |
FREE
Marcelo f –
Quite challenging, bot worth every effort.
Shiyan C –
Wish we could have more assignments and test cases!
Gregory E –
For this course you should have Advanced English level. Cause sentesce construction is so difficult and words so unusual that i had to some times google what i have to do.
Oliinyk V –
General idea of the course is very good. There are a few things to improve though: Focus more on intuition behind algorithms rather than formal math Build a solid foundation that would allow students to develop parallel algorithms themselves. Practical assignments should focus exactly on this, rather than filling in missing pieces of code that are only tangentially related to the algorithm itself. It would be helpful if the course provided minimal but solid basics and intuition behind parallel computations. The basics that would allow students to learn more advanced concepts themselves. In any case, the course has a lot of value and the instructors are awesome.
Marc K –
The homework assignments are a bit hard, they require a lot of concentration time to make some progress.
Fernando R –
The course provides a deep dive into Parallel Programming with Scala, and is well worth the time invested.
Ashvin L –
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.
Jose M N F –
Great course!
Michael D –
I learned a lot about improving algorithms to run in a parallelized manner which is more efficient when having more than one cpu/computers
Glendon K –
The code examples in this course are extremely convoluted. In particular, please don’t put multiple statements per line…
Artur R –
This is one of the most dense and solid courses on Coursera and I really enjoyed tackling it
Du L –
Very challenging course, the assignments are more about practising using parallel programming, would be better to design an assignment to implement the parallel programming.
Fernando –
Great insight to the Parallel programming in Scala.
Evgenii S –
For now, the worst course in Specialization.
Stanislav T –
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.
Yiran W –
just one point to improve: some lib in Scala are not be told to install and use
VICTOR A –
All but the last assignment are interesting. A fair amount of the lectures are also good, even though some of them are too theoretical the bad lectures are the ones that focus too much into proving mathematical properties, but thankfully there is just a few of those. The last assignment is considerably larger than the other ones and requires a physics background (or interest to do research on your own). I think they could improve it by approaching the material independently with smaller exercises before applying them again into the larger application that is built as part of the assignment today.
Josue G T I –
Very interesting, with difficult examples and task. Spent a lot of time analyzing weekly assignments but it was totally worth.
Paulo R d O C –
Hard course, but gives good insights about the challenges and solutions for parallel programming.
Massimiliano D –
This course analyse the parallel programming from both practical and theoretical point of view. It gives the instruments both to understand the Scala library in its completeness and expressiveness in parallel computing, and the theoretical knowledge to understand what’s “under the hood”, to allow the student to understand whether the parallelism could be effective or not. I greatly suggest this course to anyone interested in parallel computing.
Joshua S –
Like the other courses in this series, the lectures and exercises are excellent. Coming from a communications background, this course presented me with an opportunity to build on what I already knew but also offered new and interesting insights related to algorithm performance tuning. The course has a nice mix of theory and serviceable information. If you’ve never done any type of high performance computing, this is a nice gentle introduction into the subject. The instructions took a lot of time to build fun and interesting exercises that are meticulously constructed.
Simon –
exercise are too heavy
Christoph K –
Very interesting material, especially the prefix sum algorithms about, how to transform a sequential problem into a parallel problem.
Bruno M –
Very good introductory theoretical foundation for parallell algorithms, and background for the Big Data Analysis with Scala and Spark course.
Anton B –
it would be great to have a few more pointers how to debug code in parallel
Denys L –
Nice and complicated
Dean T –
Needs to be updated for more modern versions of Scala.
Ilya B –
The tasks are not well designed for online education
Alexey K –
It would be great to add some popular frameworks and some basics of reactive programming
Sviridenko K –
Amazing practice assignments! It was very interesting to solve them.
Marcin Z –
First 3 weeks were cool, but the last week was somehow rushed and the assignment did not involve any parallel programming.
Joel V –
This course introduces an elegant and practical alternative to purely lock based parallelism by exploiting data & task parallelism intrinsic to many problems. It also emphasizes the mathematical requirements to use such tooling. The course slides/videos provide an good theoretical introduction with short code examples. The (fun ; ) )ctional exercises greatly echo the theoretical course with problems which appear almost effortless to parallelize.
Artem B –
Great course with very entertaining exercises!
Leonardo L e C –
Very good!
Santiago A –
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!
G. U M –
best course
Sanjeev R –
Excellent
Shi Y –
Some instruction is pretty confusing
Alexey P –
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.
Alan A C –
Interesting course but math part is too academic and boring. It’ll be more useful if focused only in real use cases.
Daniel B –
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.
Gabriele A –
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!
Rohan V –
More emphasis on Parallel Data Structures is needed, course is relatively simple as compared to previous courses from same specialisation
Patrik –
The feedback from the instructors could be more timely. Otherwise a great course
Mehdi –
Excellent course !!! A must take in my opinion for a better and deep understanding of parallel programming.
Jarl A H –
I really don’t liked how you are forced to implement a logic you can barely understand by looking at the minimal assignment text. I mean, what the heck. I thought this course (or courses) were supposed to teach you specific subjects like parallel programming. Not how you compute the centerX based on four quads in a fork? I mean. come one. At least explain enough so that it’s at least remotely possible to implement the core logic in the start of week 4. I mean, how should I know that the size of a fork is? (yup, can’t tell if even if you pointed a gun at me)
Shriraj B –
The content presented definitely is good, but in the assignment the things used could be explained in the lectures for better understanding of learners.