DM869: Advanced Topics in Concurrent Systems

Study Board of Science

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

STADS ID (UVA): N340036101
ECTS value: 10

Date of Approval: 01-11-2022


Duration: 1 semester

Version: Approved - active

Comment

The course is optional for the following academic regulations: computer Science (master's degree) and applied Mathematics (MSC)

The course is offered as required and is not necessarily offered every year. Exam attempts for DM869 are offered in accordance to the following plan, when the course is offered:  
Spring (course Start February): ordinary Exam (June), first reexamination (August) and 2nd reexamination (January or March).

Entry requirements

None

Academic preconditions

It is an advantage to know the contents of DM861 (Concurrency Theory) or DM848 (Microservice Programming).

Course introduction

This course covers advanced topics in the fields of concurrency theory, logic, and software engineering and their applications in the understanding and development of modern concurrent systems. The students will learn how to acquire strong scientific foundations to conduct innovative R&D in both industrial and academic environments.

In relation to the competence profile of the degree it is the explicit focus of the course to:
  • Give the competence to: plan and carry out scientific projects at a high professional level, including managing work and development situations that are complex, unpredictable, and require new solution.
  • Give skills to: describe, analyse, and solve advanced computational problems using the learned models; develop new variants of the methods learned.
  • Give knowledge and understanding of: a variety of specialized models and methods developed in computer science, based on the highest international research, including topics from the subject's research front; a scientific basis to reflect on the subject area and to identify scientific issues.

Expected learning outcome

The learning objective of the course is that the student demonstrates independence in acquiring and reporting knowledge from the scientific literature on models and techniques for programming and managing concurrent, distributed systems. Specifically, the student will be able to
  • describe the main contributions of selected articles;
  • compare advantages and disadvantages of different approaches;
  • reflect and report on findings extracted from the literature in a systematic way.

Content

The following main topics are contained in the course:
  • High-level programming languages for concurrent systems.
  • Formalisation and verification of concurrent systems.
  • Modern Software Architectures: Large-scale Networks, Microservices, Serverless.
  • Development Processes: Design, Development, Release.
  • System Operations: Automatic Scaling, Continuous Integration, Continuous Deployment.

Literature

See itslearning for syllabus lists and additional literature references.

Examination regulations

Exam element a)

Timing

June

Tests

Oral defence

EKA

N340036102

Assessment

Second examiner: External

Grading

7-point grading scale

Identification

Student Identification Card

Language

Normally, the same as teaching language

Examination aids

To be announced during the course 

ECTS value

10

Additional information

During the course two sets of problems are posed. The first of these has to be solved in groups and forms the basis for an oral exam at the end of the course. The final grade, will be based on an overall impression of the student's performance in the two elements which are part of the evaluation. The external examiner will be able to see the solutions of the two problems.

Indicative number of lessons

60 hours per semester

Teaching Method

At the faculty of science, teaching is organized after the three-phase model ie. intro, training and study phase.

  • Intro phase (lectures) - 30 hours
  • Training phase: 30 hours, including 30 hours tutorials

In the intro phase a combination of classical lectures, where the terms and methods of the course are presented, and more applied sessions, where students are taught how the learnt knowledge can be applied in concrete scenarios, is employed.
The training phase is divided into discussions and labs, where the students learn the competences that enable them to solve concrete problems.
In the study phase the students work independently to improve their understanding and their competences regarding the contents of the course.

Study phase activities:

  • Study of course material.
  • Writing of short reports

Teacher responsible

Name E-mail Department
Fabrizio Montesi fmontesi@imada.sdu.dk Concurrency

Additional teachers

Name E-mail Department City
Marco Peressotti Peressotti@imada.sdu.dk Concurrency
Saverio Giallorenzo saverio@imada.sdu.dk

Timetable

Administrative Unit

Institut for Matematik og Datalogi (datalogi)

Team at Educational Law & Registration

NAT

Offered in

Odense

Recommended course of study

Profile Education Semester Offer period

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.