Information Package / Course Catalogue
Distributed Systems
Course Code: CSE409
Course Type: Area Elective
Couse Group: First Cycle (Bachelor's Degree)
Education Language: English
Work Placement: N/A
Theory: 2
Prt.: 2
Credit: 3
Lab: 0
ECTS: 6
Objectives of the Course

The objective of this course is to enable the students to explain the goals and the properties of distributed systems, types of distributed systems, acrhitectures of distributed systems, code migration, communication, naming, synchronization issues in distributed systems. A distributed system is one in which components located at networked computers communicate and coordinate their actions only by passing messages. The sharing of resources is a main motivation for constructing distributed systems. Main characteristics of distributed systems are concurrency of components, lack of a global clock and independent failures of components.

Course Content

In the scope of course, commmunication and layered protocols, Remote Procedure Call (RPC), Remote Object Invocation (ROI), message-oriented communication, stream-oriented communication, processes, code migration and clock synchronization are explained in details.

Name of Lecturer(s)
Learning Outcomes
1.To able to learn the distributed system’s infrastructure, and to develop some software which works over a distributed system
2.To able to produce the remote procedure invocation and remote object invocation.
3.To able to use synchronization, logical clocks and distributed transactions.
4. Communication, Layered protocols, Remote Procedure Call (RPC)
5.Flow-based communication, Processes, Sub Processes
Recommended or Required Reading
1.Tanenbaum A. S., Steen M: V., Distributed Systems: Principles and Paradigms, 2nd Edition Pearson Education, 2007.
Weekly Detailed Course Contents
Week 1 - Theoretical
Introduction to Distributed Systems.
Week 2 - Theoretical
Goals of Distributed Systems, Hardware concepts.
Week 3 - Theoretical
Software concepts, The Client-Server model.
Week 4 - Theoretical
Communication, Layered protocols, Remote Procedure Call (RPC).
Week 5 - Theoretical
Remote Object Invocation (ROI), Message-oriented communication.
Week 6 - Theoretical
Stream-oriented communication, Processes, Threads.
Week 7 - Theoretical
Clients, Servers.
Week 8 - Theoretical
Code migration, Software agents.
Week 9 - Theoretical
Naming, Naming entities.
Week 10 - Theoretical
Locating mobile entities, Removing unreferenced entities.
Week 11 - Theoretical
Synchronization, Clock synchronization, Logical clocks, Global state.
Week 12 - Theoretical
Election algorithms, Mutual exclusion, Distributed transactions.
Week 13 - Theoretical
Distributed transactions
Week 14 - Theoretical
Distributed transactions
Assessment Methods and Criteria
Type of AssessmentCountPercent
Assignment5%5
Project1%5
Quiz4%15
Midterm Examination1%15
Final Examination1%60
Workload Calculation
ActivitiesCountPreparationTimeTotal Work Load (hours)
Lecture - Theory140228
Lecture - Practice140228
Assignment50210
Term Project18715
Quiz45228
Midterm Examination116218
Final Examination120222
TOTAL WORKLOAD (hours)149
Contribution of Learning Outcomes to Programme Outcomes
PÇ-1
PÇ-2
PÇ-3
PÇ-4
PÇ-5
PÇ-6
PÇ-7
PÇ-8
PÇ-9
PÇ-10
PÇ-11
OÇ-1
5
4
4
5
3
3
2
3
3
3
4
OÇ-2
4
4
3
5
3
2
1
2
2
2
3
OÇ-3
5
5
3
5
4
2
1
2
3
3
4
OÇ-4
4
4
3
5
3
2
2
2
3
3
4
OÇ-5
4
4
3
5
4
3
2
2
3
3
3
Adnan Menderes University - Information Package / Course Catalogue
2026