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/INF223
Admission Requirements INF103/INF223
Language of Instruction
Course Type Compulsory
Course Level Bachelor Degree
Course Instructor(s) Uzay ÇETİN (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 and Introduction to Python
2 Distributed System Architecture Models
3 Programming with Threads I
4 Multilayer structures in Distributed Systems.
5 Parallel Programming with Processes
6 Parallel Programming with Processes II
7 Client-Server architectures, distribution of computation, horizontal and vertical deployments
8 Midterm Exams
9 Client-Server architectures II
10 Architectures for horizontal computing 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 Distributed AI Applications
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 and and Introduction to Python
2 Distributed System Architecture Models
3 Programming with Threads
4 Multilayer structures in Distributed Systems.
5 Parallel Programming with Processes I
6 Parallel Programming with Processes II
7 Client-Server architectures, distribution of computation, horizontal and vertical deployments
8 Midterm exam
9 Client-Server architectures
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 Distributed AI Applications
Practice Topics
Week Weekly Contents
Contribution to Overall Grade
  Number Contribution
Contribution of in-term studies to overall grade 0 0
Contribution of final exam to overall grade 0 0
Toplam 0 0
In-Term Studies
  Number Contribution
Assignments 1 20
Presentation 0 0
Midterm Examinations (including preparation) 1 40
Project 1 40
Laboratory 0 0
Other Applications 0 0
Quiz 0 0
Term Paper/ Project 0 0
Portfolio Study 0 0
Reports 0 0
Learning Diary 0 0
Thesis/ Project 0 0
Seminar 0 0
Other 0 0
Toplam 3 100
No Program Learning Outcomes Contribution
1 2 3 4 5
1 Matematik, fizik ve mühendislik bilimlerine özgü konularda yeterli bilgi birikimi; bu alanlardaki kuramsal ve uygulamalı bilgileri, mühendislik problemlerinin modellenmesi ve çözümünde kullanabilme becerisi. X
2 Karmaşık bilgisayar mühendisliği problemlerini saptama, tanımlama, formüle etme ve çözme becerisi; bu amaçla uygun analiz ve modelleme yöntemlerini seçme ve uygulama becerisi. X
3 Yazılımsal veya donanımsal karmaşık bir sistemi, süreci veya donanımı gerçekçi kısıtlar ve koşullar altında, belirli gereksinimleri karşılayacak şekilde tasarlama becerisi; bu amaçla modern tasarım yöntemlerini uygulama becerisi. X
4 Mühendislik uygulamalarında karşılaşılan karmaşık problemlerin analizi ve çözümü için gerekli olan modern teknik ve araçları geliştirme, seçme ve kullanma becerisi; bilişim teknolojilerini etkin bir şekilde kullanma becerisi. X
5 Analitik düşünce ile bir sistemi, sistem bileşenini ya da süreci analiz etme, modelleme, deney tasarlama ve yapma, veri toplama, çözüm algoritmaları üretebilme, uygulamaya alma ve geliştirme becerileri. X
6 Disiplin içi ve çok disiplinli takımlarda etkin biçimde çalışabilme becerisi; bireysel çalışma becerisi. X
7 Türkçe sözlü ve yazılı etkin iletişim kurma becerisi; en az iki yabancı dil bilgisi; etkin rapor yazma ve yazılı raporları anlama, yazılım ve donanım tasarımını, gerekirse teknik resim metotları kullanarak raporlayabilme, etkin sunum yapabilme becerisi. X
8 Bilgiye erişebilme ve bu amaçla kaynak araştırması yapabilme, veri tabanları ve diğer bilgi kaynaklarını kullanabilme becerisi X
9 Yaşam boyu öğrenmenin gerekliliği bilinci; kendini sürekli yenileme becerisi. X
10 Mesleki etik ilkelerine uygun davranma, mesleki sorumluluk bilinci; mühendislik uygulamalarında kullanılan standartlar hakkında bilgi. X
11 Proje yönetimi, risk yönetimi ve değişiklik yönetimi gibi, iş hayatındaki uygulamalar hakkında bilgi; girişimcilik, yenilikçilik hakkında farkındalık; sürdürülebilir kalkınma hakkında bilgi. X
12 Mühendislik uygulamalarının evrensel ve toplumsal boyutlarda sağlık, çevre ve güvenlik üzerindeki etkileri ve çağın mühendislik alanına yansıyan sorunları hakkında bilgi. X
13 Bilgisayar mühendisliği uygulamalarının hukuki ve etik boyutları konusunda farkındalık. X
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