Course syllabus

Programming of Distributed Systems, 7.5 credits

Course code: DT136G Credits: 7.5
Main field of study: Computer Science Progression: G1F
    Last revised: 13/03/2020
Education cycle: First cycle Approved by: Head of school
Established: 02/12/2019 Reading list approved: 13/03/2020
Valid from: Autumn semester 2020 Revision: 1

Aims and objectives

General aims for first cycle education

First-cycle courses and study programmes shall develop:

  • the ability of students to make independent and critical assessments
  • the ability of students to identify, formulate and solve problems autonomously, and
  • the preparedness of students to deal with changes in working life.

In addition to knowledge and skills in their field of study, students shall develop the ability to:

  • gather and interpret information at a scholarly level
  • stay abreast of the development of knowledge, and
  • communicate their knowledge to others, including those who lack specialist knowledge in the field.

(Higher Education Act, Chapter 1, Section 8)

Course objectives

Knowledge and understanding
After completion of the course the student is able to

  • describe architectures of distributed systems,
  • explain communication models in distributed systems,
  • explain how shared resources can be handled in distributed systems,
  • explain failure and security aspects in distributed systems.

Applied knowledge and skills
Completing this course, the student will be able to

  • design, implement and analyse a basic distributed system,
  • handle conflicts and failures in distributed environments,
  • apply different communication models to distributed systems.


Making judgments and attitudes
Completing this course, the student will be able to

  • judge the suitability of distributed system paradigms for a given problem
  • understand the capabilities and limitations of the distributed systems, especially in the context of failures and security.

Main content of the course

Architectures of distributed systems

  • Communication models of distributed systems
  • Global state and consistency
  • Clocks: real and logical
  • Naming
  • Synchronization, communication and causality for distributed processes
  • Distributed Filesystems
  • Cloud computing
  • Transactional systems
  • Security in distributed systems

Teaching methods

The course includes lectures and seminars with student presentations.

Students who have been admitted to and registered on a course have the right to receive tuition and/or supervision for the duration of the time period specified for the particular course to which they were accepted (see, the university's admission regulations (in Swedish)). After that, the right to receive tuition and/or supervision expires.

Examination methods

Theory, 4.5 credits (Code: A001)

Laboratory Work, 3 credits (Code: A002)


For students with a documented disability, the university may approve applications for adapted or other forms of examinations.

For further information, see the university's local examination regulations (in Swedish).

Grades

According to the Higher Education Ordinance, Chapter 6, Section 18, a grade is to be awarded on the completion of a course, unless otherwise prescribed by the university. The university may prescribe which grading system shall apply. The grade is to be determined by a teacher specifically appointed by the university (an examiner).

In accordance with university regulations regarding grading systems for first and second-cycle courses (Vice-Chancellor’s decision ORU 2018/00929), one of the following grades shall be used: Fail (U), Pass (G) or Pass with Distinction (VG). For courses that are included in an international Master’s programme (60 or 120 credits) or offered to the university’s incoming exchange students, the grading scale of A-F shall be used. The vice-chancellor, or a person appointed by the vice-chancellor, may decide on exceptions from this provision for a specific course, if there are special grounds.

Grades used on course are Fail (F), Sufficient (E), Satisfactory (D), Good (C), Very Good (B) or Excellent (A).

Theory
Grades used are Fail (F), Sufficient (E), Satisfactory (D), Good (C), Very Good (B) or Excellent (A).

Laboratory Work
Grades used are Fail (U) or Pass (G).

For further information, see the university's local examination regulations (in Swedish).

Specific entry requirements

Introduction to Programming, 7.5 Credits, Computer Communication and Networks, 7.5 Credits, Object-Oriented Programming, 7.5 Credits and Data Structures and Algorithms, 7.5 Credits.

For further information, see the university's admission regulations (in Swedish).

Transfer of credits for previous studies

Students who have previously completed higher education or other activities are, in accordance with the Higher Education Ordinance, entitled to have these credited towards the current programme, providing that the previous studies or activities meet certain criteria.

For further information, see the university's local credit transfer regulations (in Swedish).

Other provisions

The course is given in English.

Reading list and other teaching materials