DM585: Distributed and Web Programming
Entry requirements
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
- Common web technologies.
- Microservice architectures.
- Microservice and API design patterns.
- Replication, consistency, and fault tolerance.
- Consensus and agreement in distributed systems.
Literature
Examination regulations
Exam element b)
Timing
Tests
Portfolio exam with oral defense
EKA
Assessment
Grading
Identification
Language
Duration
Examination aids
ECTS value
Additional information
Portfolio consisting of the following elements:
- A number of written assignments handed in during the course.
- 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
Tests
Written assignment
EKA
Assessment
Grading
Identification
Language
Examination aids
ECTS value
Indicative number of lessons
Teaching Method
- Common lessons in classroom/auditorium: 18
- Team lessons in classroom: 18
Teacher responsible
Timetable
Administrative Unit
Team at Registration
Offered in
Recommended course of study
| Profile | Education | Semester | Offer period |
|---|---|---|---|
| BSc major in Computer Science - Registration 1 September 2022, 2023, 2024 and 2025 | Bachelor of Science in computer science | Odense | 5 | E25 |