Print

COURSE INFORMATION
Course CodeCourse TitleL+P HourSemesterECTS
CENG 510DISTRIBUTED SYSTEMS3 + 01st Semester7,5

COURSE DESCRIPTION
Course Level Master's Degree
Course Type Elective
Course Objective The aim of this course is to teach distributed systems concepts and programming distributed applications
Course Content Fundamentals of distributed systems; models of computing, logical clocks and synchronization, consensus, distributed indexing, concurrency, consistency, failures, reliability and security. Examination of popular applications of distributed computing; distributed file systems, peer-to-peer systems, and web services.
Prerequisites No the prerequisite of lesson.
Corequisite No the corequisite of lesson.
Mode of Delivery Face to Face

COURSE LEARNING OUTCOMES
1Defines distributed systems
2Explains computer networks
3Explains interprocess communication
4Explains greedy algorithm techniques
5Explains security

COURSE'S CONTRIBUTION TO PROGRAM
PO 01PO 02PO 03PO 04PO 05PO 06PO 07PO 08PO 09PO 10PO 11PO 12
LO 0015342 21122  
LO 0025342 21122  
LO 0035342 21122  
LO 0045342 21122  
LO 0055342 21122  
Sub Total25152010 10551010  
Contribution534202112200

ECTS ALLOCATED BASED ON STUDENT WORKLOAD BY THE COURSE DESCRIPTION
ActivitiesQuantityDuration (Hour)Total Work Load (Hour)
Course Duration (14 weeks/theoric+practical)14342
Hours for off-the-classroom study (Pre-study, practice)14570
Assignments5840
Mid-terms11515
Final examination12828
Total Work Load

ECTS Credit of the Course






195

7,5
COURSE DETAILS
 Select Year   


 Course TermNoInstructors
Details 2023-2024 Spring1ELİF HAYTAOĞLU
Details 2022-2023 Spring1ELİF HAYTAOĞLU
Details 2021-2022 Spring1ÖMER GÜLEÇ
Details 2016-2017 Spring1KENAN KARAGÜL
Details 2014-2015 Fall1GÜRHAN GÜNDÜZ


Print

Course Details
Course Code Course Title L+P Hour Course Code Language Of Instruction Course Semester
CENG 510 DISTRIBUTED SYSTEMS 3 + 0 1 Turkish 2023-2024 Spring
Course Coordinator  E-Mail  Phone Number  Course Location Attendance
Asts. Prof. Dr. ELİF HAYTAOĞLU eacar@pau.edu.tr MUH A0257 TEK A0109 %70
Goals The aim of this course is to teach distributed systems concepts and programming distributed applications
Content Fundamentals of distributed systems; models of computing, logical clocks and synchronization, consensus, distributed indexing, concurrency, consistency, failures, reliability and security. Examination of popular applications of distributed computing; distributed file systems, peer-to-peer systems, and web services.
Topics
WeeksTopics
1 Distributed system definition, distributed application example, message transmission models, shared memory models.
2 Finite state machines, threads, thread types, semaphore examples.
3 Graph theory, fundamental graph algorithms: BFS algorithm, DFS algorithm, connectivity, topological sorting.
4 Vertex and tree coloring algorithms, distributed vertex and tree coloring algorithms, distributed spanning tree algorithms: broadcast and convergecast algorithms
5 BFS tree construction, flooding, serial and distributed MST algorithms, cycle and cut concepts.
6 Distributed time synchronization, Berkeley time synchronization protocol, logical clocks , Lamport’s logical clock algorithm, vector clocks, matrix clocks
7 Resource sharing, critical section problem, hardware synchronization, semaphores.
8 Midterm
9 Mutual Exclusion Algorithms: Lamport’s algorithm, Ricart-Agrawala’s algorithm, Suzuki-Kasami’s algorithm, Raymond’s algorithm, Maekawa’s algorithm.
10 Global states of distributed systems, Chandy Lamport’s algorithm, Lai Yang’ın algorithm, snapshot.
11 Deadlocks and termination detection, Dijkstra-Scholten algorithm, distributed deadlock, Chandy Misra Haas deadlock prevention algorithm.
12 Leader election algorithms: Bully algorithm, LeLann algorithm, Chang Roberts algorithm, Synchronizers.
13 Consensus protocols, byzantine generals problems, consensus.
14 Self-stabilization. Project Presentations. Final Exam
Materials
Materials are not specified.
Resources
ResourcesResources Language
1.Sukumar Ghosh, Distributed Systems : An Algorithmic Approach, Chapman and Hall, (2006) .English
2.Vijay Garg, Elements of Distributed Computings, John Wiley, (2002).English
3.Gerard Tel, Introduction to Distributed Algorithms, 2nd Ed., Cambridge University Press, (2000). English
4.David Peleg, Distributed Algorithms, Locality Sensitive Approach, SIAM, Philadelphia, PA, (English
5.Jon Kleinberg and Eva Tardos, Algorithm Design, Addison Wesley, (2006).English
6.Douglas West, Introduction to Graph Theory, 2nd Edition, Prentice-Hall, (2000).English
7. J.Gross and J. Yellen, Graph Theory and Its Applications, 2nd Edition, Chapman & Hall, (2005). English
Course Assessment
Assesment MethodsPercentage (%)Assesment Methods Title
Final Exam50Final Exam
Midterm Exam50Midterm Exam
L+P: Lecture and Practice
PQ: Program Learning Outcomes
LO: Course Learning Outcomes