Arvutiteaduse instituut
Courses.cs.ut.ee Arvutiteaduse instituut Tartu Ülikool
  1. Kursused
  2. 2026/27 sügis
  3. Paralleelprogrammeerimise keeled (LTAT.06.022)
EN
Logi sisse

Paralleelprogrammeerimise keeled 2026/27 sügis

  • Pealeht
  • Loengud
  • Labs
  • Viited
  • Homework

LTAT.06.022 Parallel Programming Languages


Course Overview

Parallel Programming Languages introduces the fundamental concepts, techniques, and programming models used to develop parallel and concurrent software. The course covers parallel algorithm design and explores several programming languages and frameworks. Students learn concurrency in Java, including threads, synchronization, executors, Fork/Join, parallel streams, and common concurrency problems. The course also introduces C++ and OpenMP for shared-memory parallel programming, as well as OpenCL for heterogeneous parallel programming. The course also covers Python and Scala with Akka, giving students practical experience with different approaches to parallel, concurrent, and distributed programming, with a focus on synchronization, performance, and scalability.


Course Info

This module is a practical introduction to concurrent programming.

1st lecture takes place on September 7th!

  • Lectures: MON 12:15 - 14:00 Delta 2006 (weeks 1-15)
    • Zoom link https://ut-ee.zoom.us/j/98194314210?pwd=VZIVn4exnBQMOLGoAmGuyhG4mWfSSo.1 password ati
  • Labs: MON 16:15 - 18:00 Delta 2045 (weeks 1-15)
    • Zoom link https://ut-ee.zoom.us/j/95395875263?pwd=szGTXkh1jd7IpurBIId1FvSnOJzRvE.1 password ati
  • Lectures
    • Stefan Kuhn, Delta 3012 (stefan.kuhn@ut.ee)
    • Mohammad Anagreh, Delta 3043, (mohammad.anagreh@ut.ee)
  • Language: English
  • Recordings: Pre-recorded video lectures
  • Note: that for now we do not plan to use moodle, everthing will be done in courses, except homework submission.

Homework

Four pieces of homework must be submitted and passed. They are found under "Homework" in the navigation bar.


Grading

Your final grade will be based on the results of project and exam.

Exam - 50% Project - 50%

Here are some example questions for the exam. In general, we will try to ask for concepts, not remote details.

  • Explain the general purpose of a Future
  • Who decides if a thread runs or is suspended? Explain the consequences of your answer
  • In Foster's methodology, the four steps in designing a concurrent algorithm are partitioning, communication, agglomeration, and mapping. Explain the communication step.
  • Explain data parallelism

Exam dates

You can chose your first attempt to be either just before Christmas or in mid-January. A resit only for those who failed will happen towards end of January.

  • first slot: Monday, 15th of December, 16:15 (this is the slot of the last lab), Room 2045
  • second slot: Monday, 19th of January, 16:15, Room 1025
  • resit: Monday, 26th of January, 16:15, Room 1025

Project work

The deadline for project submission is January 12th 2025. The task is below. You can also do a project of your choice, talk to me about this if you are interested. You need my consent for doing an alternative project.

pdf doc


  • Arvutiteaduse instituut
  • Loodus- ja täppisteaduste valdkond
  • Tartu Ülikool
Tehniliste probleemide või küsimuste korral kirjuta:

Kursuse sisu ja korralduslike küsimustega pöörduge kursuse korraldajate poole.
Õppematerjalide varalised autoriõigused kuuluvad Tartu Ülikoolile. Õppematerjalide kasutamine on lubatud autoriõiguse seaduses ettenähtud teose vaba kasutamise eesmärkidel ja tingimustel. Õppematerjalide kasutamisel on kasutaja kohustatud viitama õppematerjalide autorile.
Õppematerjalide kasutamine muudel eesmärkidel on lubatud ainult Tartu Ülikooli eelneval kirjalikul nõusolekul.
Courses’i keskkonna kasutustingimused