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 |
---|---|---|---|---|---|---|---|
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 |