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.
- 5 stars59.68%
- 4 stars28.41%
- 3 stars9.16%
- 2 stars2.02%
- 1 star0.71%
The assignment could be optimized and avoid to be more academic since it may make student lost focus and spend too much time on the question itself rather than the parallel programming
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.
Assignments are focused on problem-solving rather than the importance of parallelism, missing the point of the lecture. It is a Scala course, so it is always fun!
Very challenging course, the assignments are more about practising using parallel programming, would be better to design an assignment to implement the parallel programming.