Skip to main content
Search by keyword

Introduction to Parallel Programming MOOC

Single offer

Introduction to Parallel Programming is a course delivered by the LECAD Laboratory at the University of Ljubljana, as part of PRACE (Partnership for Advanced Computing in Europe). The LECAD Laboratory emphasises the teaching of parallel programming alongside leading European HPC (high performance computing) centres. 

Ideal for people with some knowledge of IT and programming already, the course is especially suitable for junior programmers, just starting out. Some knowledge of C, C++, Fortran, Python, or similar programming languages would be useful if you are interested in enrolling. The course takes 5 weeks to complete. You will need to dedicate around 4 hours of your weekly schedule to follow it. You can also start anytime and go at your own pace. 

Themes and topics of this MOOC

Parallel programming is used to describe the process of breaking down one large problem into a series of small and clearly defined steps and actions. Instructions are delivered to multiple processors, who execute the calculations needed in parallel - and this is where the name comes from. 

The course dives straight into the key points underpinning parallel programming using the following languages: C, C++, Python, Fortran, Cuda /OpenCL, etc. It covers fundamentals of parallel programming, covering OpenMP (Open Multi-Processing) and MPI ((Message Passing Interface). Learners will have an opportunity to test their knowledge towards the course's end via hands-on practical and interactive exercises. They will also explore hybrid and accelerated paradigms and understand how to control different aspects between two processes or programmes. 

What will you learn? 

The aim of this MOOC is to guide participants so that they become confident users in Open MP and MPI for parallel programming. You will also: 

  • Learn how to deploy Open MP within a single multicore shared memory paradigm and use MPI to control communication between two processes, or functions within a programme. 
  • Get an introduction to the OpenMPI library project, used by TOP 500 supercomputers, which aims to create a single world-class open source MPI implementation based on best practice
  • Learn how to express numerical problems in parallel programming paradigms, gaining an awareness of potential design and performance pitfalls in heterogeneous architectures Get an introduction to hybrid and accelerated paradigms (Cuda, OpenCL). 

Training Offer Details

Target audience
Digital skills for ICT professionals and other digital experts.
Digital technology / specialisation
Digital skill level
Geographic scope - Country
Industry - field of education and training
Information and Communication Technologies (ICTs) not further defined
Database and network design and administration
Software and applications development and analysis
Target language
Geographical sphere
International initiative
Typology of training opportunties
Learning activity
e-learning coursework
Assessment type
Training duration
Is this course free
Is the certificate / credential free
Training start date
Part time light
Credential offered
Learning Activity
Self-paced course