Latest Courses
Build and Deploy Apps on AWS using DevOps TechniquesCheck course
Do a bot using Twitter API and C#Check course
Advanced Photoshop: Tips, Tricks, and TechniquesCheck course
Kotlin : Complete step by step guide for BeginnersCheck course
Learn Advanced Bootstrap 4Check course
Robotic Process Automation: RPA for Managers and LeadersCheck course
Manual TestingCheck course
Basic Android Programming for Arduino MakersCheck course
Develop 5 apps with python , kivy and kivymdCheck course
AR Game Development - Space Shooter with AR FoundationCheck course
Build and Deploy Apps on AWS using DevOps TechniquesCheck course
Do a bot using Twitter API and C#Check course
Advanced Photoshop: Tips, Tricks, and TechniquesCheck course
Kotlin : Complete step by step guide for BeginnersCheck course
Learn Advanced Bootstrap 4Check course
Add to wishlistAdded to wishlistRemoved from wishlist 0
Add to compare
8.5/10 (Our Score)
Product is rated as #46 in category Data Structures and Algorithms

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

Viktor Kuncak is an associate professor in the EPFL School of Computer and Communication Sciences, where, since 2007, he leads the Laboratory for Automated Reasoning and Analysis (http://lara.epfl.ch). He works in formal methods with emphasis on algorithms and tools, such as Leon tool for verification and synthesis of Scala programs (http://leon.epfl.ch). His community service include co-chairing CAV 2017, SYNT 2015, FMCAD 2014, and VMCAI 2012. He also co-led an international COST Action to establish standardized formats for verification and synthesis (Rich Model Toolkit). His proposal on Implicit Programming, aiming to bridge the gap between human goals and their computational realizations, was funded in 2012 by a European Research Council (ERC) starting grant. Viktor Kuncak received a PhD degree from the Massachusetts Institute of Technology (MIT) in 2007.

Specification: Parallel programming

Duration 16 hours
Year 2016
Level Intermediate
Certificate Yes
Quizzes Yes

47 reviews for Parallel programming

4.3 out of 5
25
16
3
1
2
Write a review
Show all Most Helpful Highest Rating Lowest Rating
  1. Avatar

    Marcelo f

    Quite challenging, bot worth every effort.

    Helpful(0) Unhelpful(0)You have already voted this
  2. Avatar

    Shiyan C

    Wish we could have more assignments and test cases!

    Helpful(0) Unhelpful(0)You have already voted this
  3. Avatar

    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.

    Helpful(0) Unhelpful(0)You have already voted this
  4. Avatar

    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.

    Helpful(3) Unhelpful(0)You have already voted this
  5. Avatar

    Marc K

    The homework assignments are a bit hard, they require a lot of concentration time to make some progress.

    Helpful(0) Unhelpful(0)You have already voted this
  6. Avatar

    Fernando R

    The course provides a deep dive into Parallel Programming with Scala, and is well worth the time invested.

    Helpful(0) Unhelpful(0)You have already voted this
  7. Avatar

    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.

    Helpful(0) Unhelpful(0)You have already voted this
  8. Avatar

    Jose M N F

    Great course!

    Helpful(0) Unhelpful(0)You have already voted this
  9. Avatar

    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

    Helpful(0) Unhelpful(0)You have already voted this
  10. Avatar

    Glendon K

    The code examples in this course are extremely convoluted. In particular, please don’t put multiple statements per line…

    Helpful(0) Unhelpful(0)You have already voted this
  11. Avatar

    Artur R

    This is one of the most dense and solid courses on Coursera and I really enjoyed tackling it

    Helpful(0) Unhelpful(0)You have already voted this
  12. Avatar

    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.

    Helpful(0) Unhelpful(0)You have already voted this
  13. Avatar

    Fernando

    Great insight to the Parallel programming in Scala.

    Helpful(0) Unhelpful(0)You have already voted this
  14. Avatar

    Evgenii S

    For now, the worst course in Specialization.

    Helpful(0) Unhelpful(0)You have already voted this
  15. Avatar

    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.

    Helpful(0) Unhelpful(0)You have already voted this
  16. Avatar

    Yiran W

    just one point to improve: some lib in Scala are not be told to install and use

    Helpful(0) Unhelpful(0)You have already voted this
  17. Avatar

    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.

    Helpful(1) Unhelpful(0)You have already voted this
  18. Avatar

    Josue G T I

    Very interesting, with difficult examples and task. Spent a lot of time analyzing weekly assignments but it was totally worth.

    Helpful(0) Unhelpful(0)You have already voted this
  19. Avatar

    Paulo R d O C

    Hard course, but gives good insights about the challenges and solutions for parallel programming.

    Helpful(0) Unhelpful(0)You have already voted this
  20. Avatar

    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.

    Helpful(0) Unhelpful(0)You have already voted this
  21. Avatar

    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.

    Helpful(0) Unhelpful(0)You have already voted this
  22. Avatar

    Simon

    exercise are too heavy

    Helpful(0) Unhelpful(0)You have already voted this
  23. Avatar

    Christoph K

    Very interesting material, especially the prefix sum algorithms about, how to transform a sequential problem into a parallel problem.

    Helpful(0) Unhelpful(0)You have already voted this
  24. Avatar

    Bruno M

    Very good introductory theoretical foundation for parallell algorithms, and background for the Big Data Analysis with Scala and Spark course.

    Helpful(0) Unhelpful(0)You have already voted this
  25. Avatar

    Anton B

    it would be great to have a few more pointers how to debug code in parallel

    Helpful(0) Unhelpful(0)You have already voted this
  26. Avatar

    Denys L

    Nice and complicated

    Helpful(0) Unhelpful(0)You have already voted this
  27. Avatar

    Dean T

    Needs to be updated for more modern versions of Scala.

    Helpful(0) Unhelpful(0)You have already voted this
  28. Avatar

    Ilya B

    The tasks are not well designed for online education

    Helpful(1) Unhelpful(0)You have already voted this
  29. Avatar

    Alexey K

    It would be great to add some popular frameworks and some basics of reactive programming

    Helpful(0) Unhelpful(0)You have already voted this
  30. Avatar

    Sviridenko K

    Amazing practice assignments! It was very interesting to solve them.

    Helpful(0) Unhelpful(0)You have already voted this
  31. Avatar

    Marcin Z

    First 3 weeks were cool, but the last week was somehow rushed and the assignment did not involve any parallel programming.

    Helpful(2) Unhelpful(0)You have already voted this
  32. Avatar

    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.

    Helpful(0) Unhelpful(0)You have already voted this
  33. Avatar

    Artem B

    Great course with very entertaining exercises!

    Helpful(0) Unhelpful(0)You have already voted this
  34. Avatar

    Leonardo L e C

    Very good!

    Helpful(0) Unhelpful(0)You have already voted this
  35. Avatar

    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!

    Helpful(0) Unhelpful(0)You have already voted this
  36. Avatar

    G. U M

    best course

    Helpful(0) Unhelpful(0)You have already voted this
  37. Avatar

    Sanjeev R

    Excellent

    Helpful(0) Unhelpful(0)You have already voted this
  38. Avatar

    Shi Y

    Some instruction is pretty confusing

    Helpful(0) Unhelpful(0)You have already voted this
  39. Avatar

    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.

    Helpful(0) Unhelpful(0)You have already voted this
  40. Avatar

    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.

    Helpful(0) Unhelpful(0)You have already voted this
  41. Avatar

    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.

    Helpful(0) Unhelpful(0)You have already voted this
  42. Avatar

    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!

    Helpful(0) Unhelpful(0)You have already voted this
  43. Avatar

    Rohan V

    More emphasis on Parallel Data Structures is needed, course is relatively simple as compared to previous courses from same specialisation

    Helpful(0) Unhelpful(0)You have already voted this
  44. Avatar

    Patrik

    The feedback from the instructors could be more timely. Otherwise a great course

    Helpful(0) Unhelpful(0)You have already voted this
  45. Avatar

    Mehdi

    Excellent course !!! A must take in my opinion for a better and deep understanding of parallel programming.

    Helpful(0) Unhelpful(0)You have already voted this
  46. Avatar

    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)

    Helpful(0) Unhelpful(0)You have already voted this
  47. Avatar

    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.

    Helpful(0) Unhelpful(0)You have already voted this

    Add a review

    Your email address will not be published. Required fields are marked *

    This site uses Akismet to reduce spam. Learn how your comment data is processed.

    Price tracking

    Register New Account
    Reset Password
    Compare items
    • Total (0)
    Compare