Master’s studies

Syllabus for Low-Level Parallel Programming


  • 5 credits
  • Course code: 1DL550
  • Education cycle: Second cycle
  • Main field(s) of study and in-depth level: Computer Science A1N
  • Grading system: Fail (U), 3, 4, 5
  • Established: 2014-03-13
  • Established by: The Faculty Board of Science and Technology
  • Applies from: week 30, 2014
  • Entry requirements: 120 credits including 60 credits in computer science, including a second course in computer programming and programming in C.
  • Responsible department: Department of Information Technology

Learning outcomes

To pass the course, the student should be able to

  • explain key issues of parallel programming, including data distribution, load balancing, locking and synchronisation
  • construct parallell algorithms, i.e., identify parallelism in a given algorithm, implement this parallelism, and identify factors that limit the parallelism in a program or algorithm
  • compare several parallel programming frameworks in terms of performance and efficiency of development
  • use several high-performance parallel programming frameworks and choose an appropriate framework under given circumstances such as computer architecture, application and efficiency


Introduction to parallel programming and hardware. Key issues such as data distribution, load balancing, locking and synchronisation. Parallel and concurrent algorithms, factors that limit parallelism. Different parallel programming frameworks, and their pros and cons, are introduced and compared.


Lectures and seminars. Mandatory lectures may occur.


Active participation in seminars. Oral and written assessment of assignments and project.

Reading list

The reading list is missing. For further information, please contact the responsible department.