ITF23019 Parallell and Distributed Programming (Spring 2022)

Facts about the course

ECTS Credits:
10
Responsible faculty:
Faculty of Computer Sciences, Engineering and Economics
Campus:
Halden
Course Leaders:
  • Thi Thuy Nga Dinh
  • An Ngoc Lam
  • Lars Vidar Magnusson
Teaching language:
English or Norwegian
Duration:
½ year

Table of contents

The course is affiliated to the following study programme

This course is compulsory in

  • Bachelor in Computer Science – Specialisation in programming

Elective course for others.

Required prerequisite knowledge

ITF10219 Programmering 1 and ITF10619 Programmering 2

Recommended previous knowledge

ITF20006 Algoritmer og datastrukturer

Teaching semester

4th and 6th semester (Spring)

Content

  • Basic principles of parallelisation
  • Different forms of distributed processing
  • Communication and synchronization mechanisms

The student's learning outcomes on passing the course

Knowledge
The student

  • understands basic principles of Multi-Core programming
  • understands basic principles of programming against different types of processors
  • has knowledge of different techniques for parallel processing
  • has knowledge of different types of parallel algorithms and their performance
  • has knowledge of distributed processing such as heavy computing and Cloud Computing

Skills
The student can write

  • programs with parallel processing
  • applications with distributed processing

General competence
The student can

  • efficient use of modern hardware
  • exploit the potential of distributed systems

Teaching and learning methods

Lectures, project work and lab-supervision.

Workload

Approx. 250 hours.

Exam

Portfolio and written exam
The exam is divided into two parts:

Part 1 counts 50% and consists of:

  • up to 10 individual programming exercises
  • a programming project (individually or in groups of two). No report is required, but the students must demonstrate their projects by giving a short presentation (15-20 min).

Part 2 counts 50% and is an individual written exam based on the course curriculum. Duration 2 hours. No supporting materials allowed.
Grading scale A - F in both parts. Both parts of the exam must be passed to pass the course. The student will get an individual joint grade for the entire course.

Examiners

External and internal examiner, or two internal examiners.

Conditions for resit/rescheduled exams

Upon re-examination, each part of the examination can be retaken.
In the case of resit-/rescheduled exam, part 1, the programming project must be discussed with the course instructor.

Course evaluation

This course is evaluated by a:

  • Mid-term evaluation (compulsory)

The responsible for the course compiles a report based on the feedback from the students and his/her own experience with the course. The report is discussed by the study quality committee of the faculty of Computer Sciences.

Reading list

Last updated 02.12.2020. The reading list may be subject to changes before 1st of December 2021.
  • Borut Robič, Patricio Bulić, and Roman Trobec, "Introduction to parallel computing: from algorithms to programming on state-of-the-art platforms", Springer Book, 2018.
  • George Coulouris, Jean Dollimore, Tim Kindberg, Gordon Blair " Distributed System: Concepts and Design", Fifth Edition, Addison-Wesley, 2012.
  • Various online resources will be posted on the learning platform.
Last updated from FS (Felles studentsystem) Oct. 15, 2026 3:03:03 AM