Computer Engineering Department

Distributed Systems and Applications(INF443)

Course Code Course Name Semester Theory Practice Lab Credit ECTS
INF443 Distributed Systems and Applications 7 4 0 0 4 6
Prerequisites INF103 VE INF223
Admission Requirements INF103 VE INF223
Language of Instruction
Course Type Compulsory
Course Level Bachelor Degree
Course Instructor(s) B. Atay ÖZGÖVDE aozgovde@gsu.edu.tr (Email)
Assistant
Objective The aim of this course is to provide an understanding of the basic design principles of distributed systems.
While achieving this aim, it is aimed to give both theoretical and practical approaches in a balanced way. Accordingly, in the context of computer networks, new methods are shown in which the communication methods that students have seen before will be applied in particular applications.
It is aimed to reinforce their knowledge through the practice assignments given throughout the course.
Content 1. Definition of Distributed Systems. Define the problem and state the objectives. Example applications and difficulties encountered.
2. Examining hardware and software systems within the framework of the concepts of Transparency, Openness and Scalability. Architectural models.
3. Examination of communication stacks. Multilayer structures. Middleware design.
4. Analysis of RMI, RPC and web services structures.
5. Time Coordination, Physical clock based coordination algorithms, GPS
6. Event sequencing in distributed systems, Lamport's logical clocks
7. Logical Clock algorithms and their applications
8. Client-Server architectures, distribution of computing, horizontal and vertical deployments
9. Architectures for horizontal computational distribution, load distribution
10. Middleware design.
11. P2P systems: Requirements, Architectures, Applications
12. Cloud Computing Systems: Definition, Architectures, Role in Distributed Systems and Integration Strategies
13. Current architectures: Internet of Things (IoT), Computing at the Edge, Cloud Computing, 5G Architecture
Course Learning Outcomes Students who successfully complete this course:
LO1: Define the distributed system with its components, know the difficulties in implementing the distributed system, comprehend how it is positioned on the basic knowledge of computer networks.
LO2: Knows the tasks of the middle layer and its place in distributed architecture. It can analyze the task sharing and interaction of the middle tier and the distributed application running on it.
LO3: Beginning from the requirements stage, they can make (i) intellectual design, (ii) application protocol design, and (iii) actual design of a distributed system using one of the current programming environments.
LO4: Present the design and implementation stages of the distributed systems implemented within the scope of the course, by giving technical details, visually and verbally effectively.
LO5: Understands the operation of traditional and modern distributed system examples, knows the design and approach differences between them, recognizes the techniques necessary for the performance analysis of these systems.
Teaching and Learning Methods Oral presentation, discussion, Q&A
References 1. Distributed Systems: Concepts and Design, 4. basım, George Coulouris et al, Addison Wesley, 2006.
2. Distributed Systems - Principles and Paradigms, 1. basım, Andrew S.Tanenbaum & Maarten van Steen, Prentice Hall, 2002.
Print the course contents
Theory Topics
Week Weekly Contents
1 Definition of Distributed Systems. Define the problem and state the objectives. Example applications and difficulties encountered.
2 Examining hardware and software systems within the framework of the concepts of Transparency, Openness and Scalability. Architectural models.
3 Examination of communication stacks. Multilayer structures. Middleware design.
4 Analysis of RMI, RPC and web services structures
5 Time Coordination, Physical clock based coordination algorithms, GPS
6 Event sequencing in distributed systems, Lamport's logical clocks
7 Logical Clock algorithms and their applications
8 Midterm exam
9 Client-Server architectures, distribution of computing, horizontal and vertical deployments
10 Architectures for horizontal computational distribution, load distribution
11 Middleware design
12 P2P systems: Requirements, Architectures, Applications
13 Cloud Computing Systems: Definition, Architectures, Role in Distributed Systems and Integration Strategies
14 Current architectures: Internet of Things (IoT), Computing at the Edge, Cloud Computing, 5G Architecture
Practice Topics
Week Weekly Contents
Contribution to Overall Grade
  Number Contribution
Contribution of in-term studies to overall grade 6 60
Contribution of final exam to overall grade 1 40
Toplam 7 100
In-Term Studies
  Number Contribution
Assignments 4 20
Presentation 0 0
Midterm Examinations (including preparation) 1 15
Project 0 0
Laboratory 0 0
Other Applications 0 0
Quiz 0 0
Term Paper/ Project 1 25
Portfolio Study 0 0
Reports 0 0
Learning Diary 0 0
Thesis/ Project 0 0
Seminar 0 0
Other 0 0
Toplam 6 60
No Program Learning Outcomes Contribution
1 2 3 4 5
Activities Number Period Total Workload
Class Hours 13 3 39
Assignments 4 8 32
Midterm Examinations (including preparation) 1 20 20
Final Examinations (including preparation) 1 20 20
Term Paper/ Project 1 30 30
Total Workload 141
Total Workload / 25 5,64
Credits ECTS 6
Scroll to Top