Parallel Programming Concepts

Course
  • Cloud and Operating Systems
  • Programming

Parallel Programming Concepts

“Parallel Programming Concepts” presents relevant theoretical and practical foundations for parallel programming. We show crucial theoretical ideas such as semaphores and actors, the architecture of modern parallel hardware, different programming models such as task parallelism, message passing and functional programming, and several patterns and best practices. The course is suitable for all participants who are interested in getting a broader overview of parallelism, especially beyond the usage of multiple threads.

Offered by Dr. Peter Tröger | Last updated on Apr 13, 2026 | 11738 enrollments

  • Expert
  • EN
  • Certificate
Course information

Since the very beginning of computer technology, processors have been built with ever-increasing clock frequencies and smarter optimizations for achieving a faster software execution. Developers and the software industry are used to applications becoming faster by merely exchanging the underlying hardware. However, since the beginning of the century it has become apparent that this approach no longer works.

Moore's law about the ever-increasing number of transistors per chip is still valid, but power consumption, thermal management and memory latency issues are making make serial code acceleration increasingly harder. Instead, hardware vendors now use additional transistors for multiple processing elements (‘cores’) per processor chip and deeper memory hierarchies. Modern hardware has the capability to transform any desktop, server, or even mobile system into some kind of parallel computer. This makes parallel programming the new default for application development. The exploitation of any additional horsepower from hardware is now in the responsibility of the software.

The openHPI online course “Parallel Programming Concepts” presents relevant theoretical and practical foundations for parallel programming. We show crucial theoretical ideas such as semaphores and actors, the architecture of modern parallel hardware, different programming models such as task parallelism, message passing and functional programming, and several patterns and best practices.

The course is suitable for all participants who are interested in getting a broader overview of parallelism, especially beyond the usage of multiple threads. Participants should have knowledge in at least one programming language - other skills are not necessary.

You'll find additional video lecturing material on www.tele-task.de.

Attention: This course is currently in self-study mode, in which you do not have access to graded assignments/exams. Therefore, we can only issue you a certificate of participation.

Course contents

  • Week 1:

    Terminology and fundamental concepts
  • Week 2:

    Shared Memory Parallelism - Basics
  • Week 3:

    Shared memory parallelism – Programming
  • Week 4:

    Accelerators
  • Week 5:

    Distributed memory parallelism
  • Week 6:

    Patterns, best practices and examples
  • Exam:

    Exam

Enroll me for this course

The course is free. Just register for an account on openHPI and take the course!
Enroll me now

Learners

Current
Today
11,738
Course End
Mar 28, 2014
6,465
Course Start
Feb 02, 2014
2,984

Requirements for Proofs of Achievement

  • Confirmation of Participation: You will automatically receive a free Confirmation of Participation once you have completed at least 50% of the content.
  • Certificate: You will receive your official openHPI Certificate by earning at least 50% of the maximum number of points from all graded assignments.

Find out more on our page for Proofs of Achievement and Guidelines.

Our teachers