Parallel programming is a term that defines the use of multiple processors, or resources, to solve a problem and perform a task. Used in the field of programming and computer science, parallel programming breaks up each problem into a series of small steps and provides instructions to processors, which in turn execute the tasks. Multiple processors are a embedded in virtually every smartphone and computer nowadays, making knowledge of parallel programming relevant and in demand.
Background of the course and programme
The course's material is led by two instructors from the École Polytechnique Fédérale de Lausanne (EPFL): Professor Viktor Kuncak from the École Polytechnique Fédérale de Lausanne (EPFL)'s School of Computer and Communication Sciences, and Dr. Aleksandar Prokopec, Software Developer and Principal Researcher at the EPFL. Learning activities are spread over 4 weeks and the deadlines of the programmes are flexible (i.e. can be pushed back). The course is in English, with subtitles in several EU and international languages: Arabic, French, Portuguese, Italian, Vietnamese, German, Russian, English, and Spanish. It can be audited free of charge (and users can opt to purchase a certificate for a fee).
The course is part of a wider online educational programme on the topic of parallel computing and programming by the EPFL, and follows the Functional Program Design in Scala, a course which teaches participants programming skills in the context of Scala applications.