Bilgisayar Mühendisliği Lisans Programı

Dağıtık Sistemler ve Uygulamalar(INF443)

Ders Kodu Dersin Adı Yarıyıl Teori Uygulama Lab Kredisi AKTS
INF443 Dağıtık Sistemler ve Uygulamalar 7 4 0 0 4 6
Ön Koşul INF103 VE INF223
Derse Kabul Koşulları INF103 VE INF223
Dersin Dili Fransızca
Türü Zorunlu
Dersin Düzeyi Lisans
Dersi Veren(ler) B. Atay ÖZGÖVDE aozgovde@gsu.edu.tr (Email)
Dersin Yardımcıları
Dersin Amacı Bu dersin amacı dağıtık sistemlerin temel tasarım prensiplerinin kavranmasını sağlamaktır.
Bu amacı gerçekleştirirken hem kuramsal hem de pratik yaklaşımların dengeli verilmesi hedeflenmiştir. Buna göre bilgisayar ağları bağlamında öğrencilerin daha önce görmüş oldukları haberleşme yöntemlerinin uygulamalar özelinde uygulanacakları yeni yöntemler gösterilmektedir.
Ders boyunca verilen uygulama ödevleri yoluyla bilgilerinin pekişmesinin sağlanması hedeflenmiştir.
İçerik 1. Dağıtık Sistemlerin tanımlanması. Problem tanımı ve amaçların belirtilmesi. Örnek uygulamalar ve karşılaşılan zorluklar.
2. Saydamlık (Transparency), Açıklık(Openness) ve Ölçeklenebilirlik (Scalability) kavramları çerçevesinde donanım ve yazılım sistemlerinin incelenmesi. Mimari modeller.
3. İletişim yığıtlarının incelenmesi. Çok katmanlı yapılar. Middleware tasarımı.
4. RMI, RPC ve web servisleri yapılarının incelenmesi.
5. Zaman Eşgüdümü, Fiziksel saat temelli eşgüdüm algoritmaları, GPS
6. Dağıtık sistemlerde olay sıralaması, Lamport'un mantıksal saatleri
7. Mantıksal Saat algoritmaları ve uygulamaları
8. İstemci-Sunucu mimarileri, hesaplamanın dağıtılması, yatay ve dikey dağıtımlar
9. Yatay hesaplama dağıtımı için mimariler, yük dağıtımı
10. Orta-katman tasarımı.
11. P2P sistemler: İhtiyaçlar, Mimariler, Uygulamalar
12. Bulut Hesaplama Sistemleri: Tanım, Mimariler, Dağıtık sistemlerde rolü ve entegrasyon stratejileri
13. Güncel mimariler: Nesnelerin İnterneti (IoT), Uçta Hesaplama Sistemleri, Bulutçuk Hesaplama, 5G Mimarisi
Dersin Öğrenme Çıktıları Bu dersi başarıyla tamamlayan öğrenci:
ÖÇ1: Dağıtık sistemi bileşenleri ile birlikte tanımlayabilir, dağıtık sistemin gerçeklenmesindeki zorlukları bilir, bilgisayar ağları temel bilgisi üzerine nasıl konumlandığını kavrar.
ÖÇ2: Orta katmanın görevlerini ve dağıtık mimarisindeki yerini bilir. Orta katman ile üzerinde koşan dağıtık uygulamanın görev paylaşımını ve etkileşimini analiz edebilir.
ÖÇ3: İsterler aşamasından başlayarak bir dağıtık sistemin (i) düşünsel tasarımını, (ii) uygulama protokolü tasarımını ve (iii) güncel programlama ortamların birini kullanarak gerçek tasarımını yapabilir.
ÖÇ4: Ders kapsamında gerçeklediği dağıtık sistemlerin tasarım ve gerçeklenme aşamalarını teknik detay vererek görsel araçlarla ve sözlü etkin şekilde sunabilir.
ÖÇ5: Geleneksel ve modern dağıtık sistem örneklerinin işleyişini kavrar, aralarındaki tasarım ve yaklaşım farklarını bilir, bu sistemlerin başarım analizi için gerekli teknikleri tanır.
Öğretim Yöntemleri Sözlü anlatım, tartışma, soru ve cevap
Kaynaklar 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.
Ders İçeriğini Yazdır
Teori Konu Başlıkları
Hafta Konu Başlıkları
1 Dağıtık Sistemlerin tanımlanması. Problem tanımı ve amaçların belirtilmesi. Örnek uygulamalar ve karşılaşılan zorluklar.
2 Saydamlık (Transparency), Açıklık(Openness) ve Ölçeklenebilirlik (Scalability) kavramları çerçevesinde donanım ve yazılım sistemlerinin incelenmesi. Mimari modeller.
3 İletişim yığıtlarının incelenmesi. Çok katmanlı yapılar. Middleware tasarımı.
4 RMI, RPC ve web servisleri yapılarının incelenmesi.
5 Zaman Eşgüdümü, Fiziksel saat temelli eşgüdüm algoritmaları, GPS
6 Dağıtık sistemlerde olay sıralaması, Lamport'un mantıksal saatleri
7 Mantıksal Saat algoritmaları ve uygulamaları
8 Ara Sınav
9 İstemci-Sunucu mimarileri, hesaplamanın dağıtılması, yatay ve dikey dağıtımlar
10 Yatay hesaplama dağıtımı için mimariler, yük dağıtımı
11 Orta-katman tasarımı.
12 P2P sistemler: İhtiyaçlar, Mimariler, Uygulamalar
13 Bulut Hesaplama Sistemleri: Tanım, Mimariler, Dağıtık sistemlerde rolü ve entegrasyon stratejileri
14 Güncel mimariler: Nesnelerin İnterneti (IoT), Uçta Hesaplama Sistemleri, Bulutçuk Hesaplama, 5G Mimarisi
Uygulama Konu Başlıkları
Hafta Konu Başlıkları
Başarı Notuna Etki Oranları
  Sayı Katkı Payı
Toplam 0 0
Yarıyıl İçi Çalışmaları
  Sayı Katkı Payı
Ödevler 6 10
Sunum 0 0
Arasınavlar (Hazırlık Süresi Dahil) 1 30
Proje 0 0
Laboratuar 1 10
Diğer Uygulamalar 0 0
Kısa Sınavlar 3 5
Dönem Ödevi / Projesi 1 20
Portfolyo Çalışmaları 0 0
Raporlar 0 0
Öğrenme Günlükleri 0 0
Bitirme Tezi/Projesi 0 0
Seminer 0 0
Diğer 0 0
Toplam 12 75
Numara Program Yeterlilikleri Puan
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
Etkinlikler Sayı Süre Toplam İş Yükü
Ders Süresi 14 4 56
Sınıf Dışı Çalışma Süresi 14 3 42
Ödevler 6 5 30
Arasınavlar (Hazırlık Süresi Dahil) 1 10 10
Yarıyıl Sonu Sınavı (Hazırlık Süresi Dahil) 1 12 12
Dönem Ödevi / Projesi 1 15 15
Toplam İş Yükü 165
Toplam İş Yükü / 25 6,60
Dersin AKTS Kredisi 7
Scroll to Top