DM585: Distributed and Web Programming

Study Board of Science

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

STADS ID (UVA): N330073101
ECTS value: 7.5

Date of Approval: 20-03-2023


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 competences can be obtained by following DM510 and DM584.

Course introduction

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., DM883, DM885, DM861.

In relation to the learning outcomes of the degree the course has explicit focus on:

  • knowledge of principles governing the construction of distributed systems using web technologies;
  • knowledge of algorithms and data structures, developing skills for analysing their advantages and disadvantages and developing new variants;
  • developing skills in programming in different types of programming languages;
  • developing skills in software development;
  • developing skills in constructing large-scale software systems;
  • developing skills in deciding and justify professional decisions;
  • developing skills in describing, formulating and disseminating problems and results to either other professional or non-specialists or collaborative partners and users;
  • giving the competence to handle complex and development-oriented situations in study and work contexts;
  • giving the competence to identify one's own needs for learning and structure one's own learning in different learning environments;
  • value creation through innovative processes.

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.
  • 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 a)

Timing

Autumn and January

Tests

Portfolio exam with oral defense

EKA

N330073102

Assessment

Second examiner: Internal

Grading

7-point grading scale

Identification

Full name and SDU username

Language

Normally, the same as teaching language

Examination aids

Allowed, a closer description of the exam rules will be posted i itslearning.

ECTS value

7.5

Additional information

Portfolio exam consists of two parts:

  1. Small individual assignments
  2. A group project - consisting of a written report and an oral defence (the oral defence is held during the exam period)

Indicative number of lessons

36 hours per semester

Teaching Method

The teaching method is based on three phase model.
  • Intro phase (lectures): 18 hours.
  • Skills training phase: 18 hours.

Teacher responsible

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

Timetable

Administrative Unit

Institut for Matematik og Datalogi (datalogi)

Team at Educational Law & 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.