DM584: Concurrent Programming

Study Board for Natural Scientific IT Programmes

Teaching language: Danish or English depending on the teacher, but English if international students are enrolled
EKA: N330072102
Assessment: Second examiner: Internal
Grading: 7-point grading scale
Offered in: Odense
Offered in: Spring
Level: Bachelor

STADS ID (UVA): N330072101
ECTS value: 7.5

Date of Approval: 21-10-2025


Duration: 1 semester

Version: Approved - active

Internal Course Code

DM584

Entry requirements

None

Academic preconditions

Students taking the course are expected to have basic programming skills (e.g., from DM574).

Course introduction

The course aims at describing and explaining the fundamental concepts and techniques of concurrent programming, where programs use multiple interacting threads or processes. Besides a systematic treatment of concepts and methods for concurrency, the course focuses on applying the methods to gain experiences in concurrent programming.

Expected learning outcome

After the course the student is expected to be able to:

  • identify the use of concurrency in programs
  • describe the concurrency mechanisms covered in the course
  • explain fundamental problems, techniques, and solutions for concurrent programs
  • reason about properties of concrete concurrent programs
  • design and implement non-trivial concurrent programs
  • account for some common concurrent program architectures

Content

The following main topics are contained in the course:

  • Processes
  • threads
  • monitor concept
  • shared memory
  • synchronization
  • safety and liveness
  • modellling of concurrency
  • dynamic systems
  • message passing
  • concurrent architecture.

Literature

See itslearning for syllabus lists and additional literature references.

Examination regulations

Exam element a)

Timing

Spring

Tests

Mandatory project

EKA

N330072102

Assessment

Second examiner: Internal

Grading

7-point grading scale

Identification

Full name and SDU username

Language

Normally, the same as teaching language

Examination aids

All common aids allowed except generative AI

ECTS value

7.5

Indicative number of lessons

42 hours per semester

Teaching Method

Planned lessons:
Total number of planned lessons: 42
Hereof:
Common lessons in classroom/auditorium: 20
Team lessons in laboratory: 22

Up to 75% of teaching activities will take place online, both synchronously (live chat) and asynchronously (videos and exercises).

Both frontal lectures and training hours are focused on the application of techniques for concurrent programming to concrete problems. The difference is in the teaching method. In frontal lectures, learning will be driven by discussions directed by the teacher, whereas in training hours the students will have to try applying the concepts first.

Other planned teaching activities:


  • Reading of course material
  • Reflection on methods and theoretical concepts

Teacher responsible

Name E-mail Department
Stelios Tsampas stelios@imada.sdu.dk Institut for Matematik og Datalogi

Timetable

Administrative Unit

Institut for Matematik og Datalogi (datalogi)

Team at Registration

NAT

Offered in

Odense

Recommended course of study

Profile Education Semester Offer period
MSc minor in Informatics for major outside Natural Sciences (75 ECTS) - Registration 1 September 2026 Master of Science in computer science | Odense 1 E26
BSc major in Computer Science special course - Registration 1 September 2023, 2024 and 2025 Bachelor of Science in computer science | Odense 2 E25
BSc major in Computer Science special course - Registration 1 September 2023, 2024 and 2025 Bachelor of Science in computer science | Odense 2 E26
MSc Minor in Computer Science for major in Biology, Chemistry or Sports and Health - registration 1 September 2023, 2024 and 2025 Master of Science in computer science | Odense 2 E25
MSc Minor in Computer Science for major in Biology, Chemistry or Sports and Health - registration 1 September 2024 and 2025 Master of Science in computer science | Odense 2 E26
BSc major in Computer Science - Registration 1 September 2022, 2023 and 2024 Bachelor of Science in computer science | Odense 4 E26
BSc major in Computer Science - Registration 1 September 2022, 2023, 2024 and 2025 Bachelor of Science in computer science | Odense 4 E25
BSc major in Computer Science - Registration 1 September 2025 Bachelor of Science in computer science | Odense 4 E26
BSc major in Computer Science - Registration 1 September 2026 Bachelor of Science in computer science | Odense 4 E26
BSc major in Computer Science and minor subject - Registration 1 September 2022, 2023 and 2024 Bachelor of Science in computer science | Odense 4 E26
BSc major in Computer Science and minor subject - Registration 1 September 2022, 2023, 2024 and 2025 Bachelor of Science in computer science | Odense 4 E25
BSc major in Computer Science and minor subject - Registration 1 September 2025 Bachelor of Science in computer science | Odense 4 E26
BSc major in Computer Science and minor subject - Registration 1 September 2026 Bachelor of Science in computer science | Odense 4 E26
BSc major in Computer Science with minor in Mathematics - Registration 1 September 2022, 2023 og 2024 Bachelor of Science in computer science | Odense 4 E26
BSc major in Computer Science with minor in Mathematics - Registration 1 September 2022, 2023, 2024 and 2025 Bachelor of Science in computer science | Odense 4 E25
BSc major in Computer Science with minor in Mathematics - Registration 1 September 2025 Bachelor of Science in computer science | Odense 4 E26
BSc major in Computer Science with minor in Mathematics - Registration 1 September 2026 Bachelor of Science in computer science | Odense 4 E26
No longer provided 31 August 2026 BSc major in Computer Science - Registration 1 September 2022, 2023, 2024 and 2025 Bachelor of Science in computer science | Odense 4 E26
No longer provided 31 August 2026 BSc major in Computer Science and minor subject - Registration 1 September 2022, 2023, 2024 and 2025 Bachelor of Science in computer science | Odense 4 E26
No longer provided August 31 2026 -BSc major in Computer Science and minor subject - Registration 1 September 2022, 2023, 2024 and 2025 Bachelor of Science in computer science | Odense 4 E26

Transition rules

Transitional arrangements describe how a course replaces another course when changes are made to the course of study. 
If a transitional arrangement has been made for a course, it will be stated in the list. 
See transitional arrangements for all courses at the Faculty of Science.