Distributed systems

Distributed systems

1.

Subject title

Distributed systems

Дистрибуирани системи

2.

Code

F23L3W064

3.

Study program

Примена на информациски технологии, Софтверско инженерство и информациски системи, Компјутерски науки, Компјутерско инженерство, Информатичка едукација, Software engineering and information systems, Интернет, мрежи и безбедност, Примена на информациски технологии, Софтверско инженерство и информациски системи, Компјутерски науки, Компјутерско инженерство, Интернет, мрежи и безбедност, Software engineering and information systems, Стручни студии за програмирање, Стручни студии за програмирање, Cloud Computing,

4.

Organizer of the study program (unit, institute, department, division)

Faculty of Information Sciences and Computer Engineering

5.

Study cycle (first, second, third)

Прв циклус

6.

Academic year / semester

4 / Зимски

7. Number of ECTS credits

6.0

8.

Instructor

проф. д-р Боро Јакимовски проф. д-р Владимир Трајковиќ

9.

Prerequisites for enrollment

Компјутерски мрежи или Компјутерски мрежи и безбедност

10.

Subject goals and competencies:


The subject aims to familiarize with the development of middleware systems. The subject covers the principles on which distributed systems are built, primarily communications, processing, naming, consistency and replication, fault handling, and security. These principles are further elaborated in their application to distributed web-based systems, distributed object-based systems, distributed file systems, and distributed coordination systems.

11.

Subject content:


Lectures: 1. Introduction to distributed systems 2. Time and events in distributed systems 3. Vector clocks 4. Ordering of events in distributed systems 5. Classification of defects 6. Reliable delivery and replication 7. Consensus 8. Consensus 9. Partitioning 10. Merkel trees Exercises: 1. Network Programming in Java 2. Network Programming in Java 3. Client-server programming in Java 4. Serialization in Java 5. Serialization in Java 6. Working with queues 7. Working with queues 8. System integration with Kafka 9. System integration with Kafka 10. System integration with Kafka

12.

Learning methods:


Предавања со користење на презентации, интерактивни предавања, вежби (користење на опрема и софтверски пакети), тимска работа, пример случаи, поканети гости предавачи, самостојна изработка и одбрана на проектна задача и семинарска работа.

13.

Total available time fund

6.0 ECTS x 30 hours = 180 hours

14.

Time distribution

30 + 45 + 15 + 15 + 75 = 180 hours

15.

Forms of teaching activities

15.1.

Lectures - theoretical teaching

30 hours

15.2.

Exercises (laboratory, classroom), seminars, team work

45 hours

16.

Other forms of activities

16.1.

Project tasks

15 hours

16.2.

Independent tasks

15 hours

16.3.

Homework

75 hours

17.

Grading method

17.1.

Tests

10 points

17.2.

Seminar work / project (presentation: written and oral)

15 points

17.3.

Activities and learning

10 points

17.4.

Final exam

70 points

18.

Grading criteria (points / grade)

up to 50 points

5 (five) (F)

from 51 to 60 points

6 (six) (E)

from 61 to 70 points

7 (seven) (D)

from 71 to 80 points

8 (eight) (C)

from 81 to 90 points

9 (nine) (B)

from 91 to 100 points

10 (ten) (A)

19.

Condition for signature and taking final exam

Реализирани актибвности 15.2 и 16.1

20.

Language of instruction

Македонски и англиски

21.

Quality assurance method

механизам на интерна евалуација и анкети

22.

Literature

22.1.

Mandatory literature

No.

Author

Title

Publisher

Year

4363

Maarten van Steen, ‎ Andrew S. Tanenbaum

Distributed Systems, 3.01 ed.

CreateSpace Independent Publishing Platform

2017

4364

Richard M Reese

Learning Network Programming with Java

Packt Publishing

2015

22.2.

Additional literature

No.

Author

Title

Publisher

Year