Course Details
Language | English |
Duration | 4 week |
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:
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.
Dr. Aleksandar Prokopec is a software developer and a concurrent and distributed programming researcher, working at Oracle Labs. He obtained a PhD in Computer Science from the Ecole Polytechnique Federale de Lausanne, Switzerland. As a doctoral assistant …
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 algorithm…
Free online courses from École polytechnique fédérale de Lausanne
EPFL is the Swiss Federal Institute of Technology in Lausanne. The past decade has seen EPFL ascend to the very top of European institutions of science and technology: it is ranked #1 in E…
93 instructors