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