Course syllabus - Parallell Systems
Scope
7.5 credits
Course code
DVA336
Valid from
Autumn semester 2026
Education level
First cycle
Progressive Specialisation
G2F (First cycle, has at least 60 credits in first-cycle course/s as entry requirements)
Main area(s)
Computer Science
Organisation
Department of Computer Science & Engineering
Ratified
2014-04-15
Revised
2025-12-19
Literature lists
Course literature is preliminary up to 8 weeks before course start. Course literature can be valid over several semesters.
-
Books
Objectives
With the emerging use of multi-core processors in today´s computers it is very important for software developers to understand and master different forms of parallelism. The course will cover different types of parallel programming languages, parallel algorithms, and parallel hardware, and how these concepts interact with each other. Special focus will be given on how to write parallel software which makes use of underlying parallel hardware in an efficient and scalable way.
Learning outcomes
After completing the course the student should be able to:
- Identify the inherent parallelism in a given problem and construct a suitable parallel solution.
- Write parallel programs using the programming languages covered during the course.
- Describe, reason about, and compare the parallel programming languages concepts covered during the course.
- Understand, make use of, and reason about the parallel algorithms covered during the course.
- Describe and reason about the different type of parallelism found in modern computer architectures.
- Write software that makes use of parallel hardware in an efficient and scalable way.
- Use analytical methods to make judgments of expected performance of parallel solutions.
- Use different types of performance measurements for evaluating parallel solutions.
- Briefly describe current research issues within the field of parallel systems.
Course content
- Concepts and measures for reasoning about parallelism.
- Parallel algorithms and algorithmic techniques.
- Different models for parallel computations.
- Different types of parallel programming languages.
- Different forms of parallelism found in hardware.
- Current research issues.
Specific requirements
At least 15 credits in programming (C, C#, C++ or Java), Data Structures, Algorithms and Program Development 7.5 credits and Computer Architecture 7.5 credits or corresponding.
Examination
Exercise, laboratory work (LAB1), 2,5 ECTS credits, marks Fail (U) or Pass (G), (examines the learning objectives 1, 2, 4, 6-8)
Project (PRO1), 2,5 credits, marks Fail (U) or Pass (G), (examines the learning objectives 1-9)
Examination (TEN1), 2,5 credits, marks Fail (U), 3, 4 or 5, (examines the learning objectives 1, 4-8)
A student who has a certificate from MDU regarding disability study support, can request adaptions for the examination. It is the examiner who takes decisions on any adaptions, based on the certificate and other conditions.
Grade
Grading scale: 5, 4, 3
Interim Regulations and Other Regulations
The course completely overlaps DVA314 Parallell Systems 7.5 credits.
Print Course syllabus