Your transaction is in progress.
Please Wait...
Course Details
KTO KARATAY UNIVERSITY
Mühendislik ve Doğa Bilimleri Fakültesi
Programme of Computer Engineering
Course Details
Course Code Course Name Year Period Semester T+A+L Credit ECTS
05080002 Distributed Systems 4 Spring 8 3+0+0 3 5
Course Type Compulsory
Course Cycle Bachelor's (First Cycle) (TQF-HE: Level 6 / QF-EHEA: Level 1 / EQF-LLL: Level 6)
Course Language Turkish
Methods and Techniques -
Mode of Delivery Face to Face
Prerequisites -
Coordinator -
Instructor(s) Asst. Prof. Ali Osman ÇIBIKDİKEN
Instructor Assistant(s) -
Course Instructor(s)
Name and Surname Room E-Mail Address Internal Meeting Hours
Asst. Prof. Ali Osman ÇIBIKDİKEN A-124 [email protected] 7585 Monday
14.00-15.00
Course Content
Süreç Senkronizasyonu ve Kilitlenmeler, İş Parçacığı Senkronizasyonu, Dağıtık Sistemlerde Senkronizasyon, Zaman Yönetimi, Merkezi Algoritmalar, Lamport'un Dağıtılmış Algoritması, Token Tabanlı ve Sezgisel Algoritmalar, Dağıtılmış Kilitlenme Algılama: Merkezileştirilmiş ve Dağıtılmış Algoritmalar, Seçim Algoritmaları, Anlaşma Protokolleri: Bizans Anlaşması, Dağıtık Sistemlerde Dinamik Çizelgeleme, Dağıtık Dosya Sistemleri, Dağıtık Sistemlerde Hata Toleransı, Dağıtılmış Gerçek Zamanlı Sistemler, Dağıtık Sistemler ve Blokzincir Teknolojisi
Objectives of the Course
To introduce the theory and implementation of distributed systems with emphasis on distributed operating systems and distributed algorithms
Contribution of the Course to Field Teaching
Basic Vocational Courses
Specialization / Field Courses X
Support Courses X
Transferable Skills Courses
Humanities, Communication and Management Skills Courses
Relationships between Course Learning Outcomes and Program Outcomes
Relationship Levels
Lowest Low Medium High Highest
1 2 3 4 5
# Program Learning Outcomes Level
P2 Ability to identify, formulate, and solve complex engineering problems; ability to select and apply appropriate analysis and modeling methods for this purpose 5
P4 Ability to develop, select and use modern techniques and tools for the analysis and solution of complex problems encountered in engineering applications; ability to use information technologies effectively 5
P5 An ability to design, conduct experiments, collect data, analyze and interpret results for the study of complex engineering problems or disciplinary research topics 5
Course Learning Outcomes
Upon the successful completion of this course, students will be able to:
No Learning Outcomes Outcome Relationship Measurement Method **
O1 Explaining what a distributed system is, why a computer system should be designed as a distributed system, and what features are sought in such systems (transparency, scalability, openness). P.2.30 1,7
O2 Examining the principles underlying the operation of distributed systems and identifying problems and challenges related to these principles P.2.31 1,7
O3 Designing distributed system software using both underlying operating system mechanisms (e.g., foundations for communication, multi-threading, concurrency, etc.) and/or higher-level middleware services (e.g., RPC, RMI, message passing, queuing systems, etc.); and to create P.5.7 1,7
O4 Explain how consistency and replication affect distributed system design, identify potential problems that arise and corresponding solutions P.4.23 1,7
** Written Exam: 1, Oral Exam: 2, Homework: 3, Lab./Exam: 4, Seminar/Presentation: 5, Term Paper: 6, Application: 7
Weekly Detailed Course Contents
Week Topics
1 Introduction, interconnections, distributed system taxonomy, service models client-server computing, network protocols
2 Remote Procedure Calls, High-level communication and publish-subscribe
3 Synchronization In Distributed Systems
4 Consistency Models: Sequential Consistency, Causal Consistency models, CAP Theorem, Eventual Consistency
5  Distributed Mutual Exclusion: Central Algorithms, Lamport`s Distributed Algorithm, Token Based and Heuristic Algorithms
6 Distributed Deadlock Detection: Centralized and Distributed Algorithms
7 Election Algorithms
8 Agreement Protocols : Byzantine Agreement
9 Dynamic Scheduling in Distributed Systems
10 Static Scheduling in Distributed Systems
11 Distributed File Systems
12 Fault Tolerance in Distributed Systems
13 Distributed systems and blockchain technology
14 Distributed application development in blockchain technology
Textbook or Material
Resources Andrew S. Tanenbaum, Maarten van Steen, 2008, Distributed Systems: Principles and Paradigms, 2/E, Prentice-Hall
Evaluation Method and Passing Criteria
In-Term Studies Quantity Percentage
Attendance - -
Laboratory - -
Practice - -
Course Specific Internship (If Any) - -
Homework - -
Presentation - -
Projects - -
Quiz - -
Midterms 1 40 (%)
Final Exam 1 40 (%)
Total 80 (%)
ECTS / Working Load Table
Quantity Duration Total Work Load
Course Week Number and Time 14 3 42
Out-of-Class Study Time (Pre-study, Library, Reinforcement) 14 3 42
Midterms 1 33 33
Quiz 0 0 0
Homework 0 0 0
Practice 0 0 0
Laboratory 0 0 0
Project 0 0 0
Workshop 0 0 0
Presentation/Seminar Preparation 0 0 0
Fieldwork 0 0 0
Final Exam 1 33 33
Other 0 0 0
Total Work Load: 150
Total Work Load / 30 5
Course ECTS Credits: 5
Course - Learning Outcomes Matrix
Relationship Levels
Lowest Low Medium High Highest
1 2 3 4 5
# Learning Outcomes P2 P4 P5
O1 Explaining what a distributed system is, why a computer system should be designed as a distributed system, and what features are sought in such systems (transparency, scalability, openness). 3 1 4
O2 Examining the principles underlying the operation of distributed systems and identifying problems and challenges related to these principles 2 5 3
O3 Explain how consistency and replication affect distributed system design, identify potential problems that arise and corresponding solutions 1 2 4
O4 Designing distributed system software using both underlying operating system mechanisms (e.g., foundations for communication, multi-threading, concurrency, etc.) and/or higher-level middleware services (e.g., RPC, RMI, message passing, queuing systems, etc.); and to create 3 1 4