Computer Engineering
Course Details

KTO KARATAY UNIVERSITY
Mühendislik ve Doğa Bilimleri Fakültesi
Programme of Computer Engineering
Course Details
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 |
|---|---|---|---|---|---|---|---|
| 05040011 | Distributed Systems | 2 | Spring | 4 | 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 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 | Explain how consistency and replication affect distributed system design, identify potential problems that arise and corresponding solutions | P.4.23 | 1,7 |
| 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 | P.5.7 | 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 | - | - |
| O2 | Examining the principles underlying the operation of distributed systems and identifying problems and challenges related to these principles | 2 | - | - |
| O3 | Explain how consistency and replication affect distributed system design, identify potential problems that arise and corresponding solutions | - | 2 | - |
| 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 | - | - | 4 |
