Parallel Programming Course – Spring 2025

Course Code: IT00CD91-3005
Credits: 5 ECTS
Period: P4
Language: English

Welcome to the course website for Parallel Programming taught at Ã…bo Akademi University.

This course introduces the key models, tools, and techniques in parallel programming, covering shared-memory, GPU, and distributed computing with hands-on experience using OpenMP, CUDA, and MPI in C++.


🧠 Course Description

This course offers a practical introduction to parallel programming, covering key models and tools used in modern high-performance computing. Students will learn to write efficient code for multicore CPUs, GPUs, and distributed systems using C++, OpenMP, CUDA, and MPI.


🗓 Logistics

  • Start Date: March 24, 2025
  • End Date: May 26, 2025
  • Lectures: Mondays, 12.30 – 14.00 (Room B0215/216, Academil, Vaasa + Zoom)
  • Teacher: Alireza Olama

All lectures are hybrid and recorded. Zoom recordings will be shared on Moodle and YouTube.


📚 Prerequisites

  • C/C++ programming experience
  • Operating system concepts
  • Machine organization

📖 References

  • An Introduction to Parallel Programming, Peter Pacheco, Matthew Malensek
  • Programming Massively Parallel Processors, Wen-mei W. Hwu, David B. Kirk, Izzat El Hajj

📂 Lectures

Week 1: Course Intro & Parallel Hardware

Week 2: C/C++ Refresher

Week 3–4: Shared Memory Programming with OpenMP

Week 5–7: GPU Programming with CUDA

Week 8–9: Distributed Programming with MPI

Week 10: Distributed Machine Learning


🎥 Lecture Videos

All lectures will be uploaded to YouTube and linked here:


For questions or registration issues, email the instructor: Alireza.Olama@abo.fi