Distributed Systems

Објавено: October 12, 2018
  1.    Course Title Distributed Systems
  2.    Code 3ФЕИТ07Л007
  3.    Study program KTI
  4.    Organizer of the study program (unit, institute, department) Faculty of Electrical Engineering and Information Technologies
  5.    Degree (first, second, third cycle) First cycle
  6.    Academic year/semester IV/8   7.    Number of ECTS credits 6.00
  8.    Lecturer Dr Marija Kalendar
  9.    Course Prerequisites Taken course: High Performance Systems and Computing, Modern Processor Architectures

10.    Course Goals (acquired competencies):  Introducing the concepts of distributed systems and distributed inter-process communication, distributed architecture and distributed file systems. Upon completion, students will be able to work with systems in distributed environment.

11.    Course Syllabus: Introduction. Characteristics of distributed systems. Models of the Distributed Systems. Communication between distributed processes. Sockets. TCP and UDP sockets. Concepts of remote method invocation. Request-response protocols. Remote procedure calling. (RPC). Java (Java RMI) methods. Distributed objects and components. CORBA. From objects to components. Java Beans. Web services. Basics and definitions. SOAP protocol. Application of Web Services. SOA architecture. Current technologies for Web services. REST.  High availability clusters. Current distributed architectures. Google Cluster Architecture. Hadoop architecture. Map Reduce. Distributed File Systems. Practical examples of distributed file systems. NFS. AFS. CODA. Google FS. Hadoop HDFS. RAID systems.

12.    Learning methods:  Theoretical and practical (laboratory) classes
13.    Total number of course hours 2 + 2 + 1 + 0
14.    Distribution of course hours 180
15.    Forms of teaching 15.1. Lectures-theoretical teaching 30
15.2. Exercises (laboratory, practice classes), seminars, teamwork 45
16.    Other course activities 16.1. Projects, seminar papers 20
16.2. Individual tasks 35
16.3. Homework and self-learning 50
17.    Grading 17.1. Exams 10
17.2. Seminar work/project (presentation: written and oral) 40
17.3. Activity and participation 0
17.4. Final exam 50
18.    Grading criteria (points) 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.    Conditions for acquiring teacher’s signature and for taking final exam Practical (laboratory) exercises
20.  Forms of assessment The exam consists of two parts (Can be completed as two partial exams):
First partial exam – theoretical part: Test questions and problems (70 min) and
Second partial exam – practical part: Finishing a practical team project.
The use of books, scripts, manuscripts or notes is partially allowed during the exam, but the use of calculators, mobile phones, tablets or any other electronic devices is not allowed
21.    Language Macedonian and English
22.    Method of monitoring of teaching quality Evaluation of the curriculum using tests and quizzes
23.    Literature
23.1. Required Literature
No. Author Title Publisher Year
1 G. Coulouris,  J. Dollimore,  T. Kindberg,  G. Blair Distributed Systems: Concepts and Design,  5th Ed. Addison Wesley/Pearson 2011
2 Tanenbaum A.S., M. Van Steen Distributed Systems: Principles and Paradigms, 2nd Ed. Pearson 2006
23.2. Additional Literature
No. Author Title Publisher Year
1 C.A. Varela, G. Agha  Programming Distributed Computing Systems: A Foundational Approach  MIT Press  2013
2  Sukumar Ghosh  Distributed Systems: An Algorithmic Approach, 2nd Ed.  Chapman and Hall/CRC  2014