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 |