DM585: Distributed and Web Programming

The Study Board for Science

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

STADS ID (UVA): N330086101
ECTS value: 7.5

Date of Approval: 08-04-2025


Duration: 1 semester

Version: Approved - active

Entry requirements

Ingen

Academic preconditions

The student is expected to be familiar with the basics of concurrent programming and operating systems. These competencies can be obtained by following DM510 and DM584.

This course builds upon the knowledge acquired in DM510 and DM584 and provides students with the foundations and tools for designing and implementing distributed applications based on web technologies. These can be used in bachelor projects and master-level courses e.g., DM897, DM885, DM861.

Course introduction

The course aims to provide students with the foundations and tools for the design and implementation of distributed applications based on web technologies. Students will be introduced to innovative processes through a project of their own. The students acquire skills in value creation through innovative processes using, among other things, key elements from the course.

Expected learning outcome

The learning objectives of the course are that the student demonstrates independence in the analysis, design, and programming of distributed applications using web technologies.

Specifically, after the course the student is expected to be able to:

  • explain fundamental problems, techniques, and solutions for distributed applications;
  • identify and apply common architectural and API design patterns;
  • design a distributed application model for concrete scenarios;
  • describe and document the planned distributed application using standard formats;
  • implement the planned distributed application and execute systematic testing of it;
  • realise innovative information processing based on a business model.

Content

The following main topics are contained in the course:
  • Common web technologies.
  • Microservice architectures.
  • Microservice and API design patterns.
  • Replication, consistency, and fault tolerance.
  • Consensus and agreement in distributed systems.

Literature

See itslearning for syllabus lists and additional literature references.

Examination regulations

Exam element b)

Timing

Autumn and January

Tests

Portfolio exam with oral defense

EKA

N330086102

Assessment

Second examiner: Internal

Grading

7-point grading scale

Identification

Full name and SDU username

Language

Normally, the same as teaching language

Duration

Oral exam - 30 minutes

Examination aids

Oral exam - No aids allowed

ECTS value

5

Additional information

Portfolio consisting of the following elements:

  1. A number of written assignments handed in during the course.
  2. Final oral exam during the exam period

To achieve a passing grade overall, both Element 1 and 2 must individually meet the learning objectives.
The assessment of Element 1 takes place in conjunction with the completion of Element 2.
Element 1 contributes about 30% to the final grade, and element 2 contributes 70%. However, an overall assessment is applied.

Re-examination, same as the regular exam. Submitted elements from the ordinary portfolio exam can be included in the re-exam.

Exam element a)

Timing

Autumn

Tests

Written assignment

EKA

N330086112

Assessment

Second examiner: Internal

Grading

Pass/Fail

Identification

Full name and SDU username

Language

Normally, the same as teaching language

Examination aids

All common aids allowed

ECTS value

2.5

Indicative number of lessons

36 hours per semester

Teaching Method

Planned lessons:

Total number of planned lessons: 36 Hereof:

  • Common lessons in classroom/auditorium: 18
  • Team lessons in classroom: 18

Common lessons will consist of a combination of frontal lectures, group discussions, and co-development of example systems.

During the team lessons, students will follow short tutorials and solve exercises individually or in small groups to simulate various phases and aspects of the design, development, and evolution of distributed systems based on web technologies.


Other planned teaching activities include self-study of various parts of the course material, and solving take-home assignments, individually or in small groups.


Teacher responsible

Name E-mail Department
Marco Peressotti Peressotti@imada.sdu.dk Concurrency

Timetable

Administrative Unit

Institut for Matematik og Datalogi (datalogi)

Team at Registration

NAT

Offered in

Odense

Recommended course of study

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.