Dersin Kodu | Dersin Adı | Dersin Türü | Yıl | Yarıyıl | AKTS |
---|---|---|---|---|---|
501008122025 | DISTRIBUTED APPLICATION DEVELOPMENT | Seçmeli Ders Grubu | 4 | 8 | 5,00 |
Lisans
İngilizce
Öğrencilere ölçeklenebilir, hataya dayanıklı ve yüksek performanslı dağıtık ve eş zamanlı sistemlerin tasarlanması ve geliştirilebilmesi için gerekli teorik temellerin ve pratik becerilerin kazandırılması amaçlanmaktadır. Ayrıca öğrencilerin; Aktör Modeli (Akka), Olay Odaklı Mimariler (Kafka, RxJava) ve İletişim Kuran Sıralı İşlemler (Go'da CSP) olmak üzere üç önemli paradigmayı inceleyerek modern eş zamanlı ve dağıtık mimariler hakkında kapsamlı bir bilgi birikimi kazanması hedeflenmektedir.
Öğr. Gör. Dr. Burak YÖNYÜL
1 | Eş zamanlı ve dağıtık hesaplama modellerinin anlaşılması ve kıyaslanması |
2 | Ölçeklenebilir ve hataya-duyarlı dağıtık sistemlerin tasarlanması ve gerçekleştirilmesi |
3 | Endüstriyel seviyede eş zamanlı ve olay-odaklı desenlerin dağıtık uygulamalarda kullanılması ve optimizasyonu |
4 | Geniş ölçekli hesaplamalar için pratik ve endüstri-hazır çözümler geliştirebilme |
Birinci Öğretim
Yok
Yok
1. Aktör Modeli ve Mesaj Odaklı Eşzamanlılık • Eşzamanlılık ve Dağıtık Sistemlere Giriş • Aktör Modeli İlkeleri • Akka ile Aktörlerin Uygulanması • Dağıtık Aktör Tabanlı Sistemlerin Oluşturması 2. Olay Odaklı Mimariler ve Reaktif Programlama • Olay Odaklı Mimarilere Giriş • RxJava ile Reaktif Programlama • Kafka ve Olay Odaklı Mikroservisler • Gerçek Zamanlı Akış İşleme 3. İletişim Kuran Sıralı İşlemler (CSP) ve Go Eşzamanlılığı • CSP vs Aktör Modeli • Go'da Eşzamanlılık • Dağıtık Go Uygulamaları • Dağıtık Eşzamanlılıkta Gelecek Trendleri
Hafta | Konular (Teorik) | Öğretim Yöntem ve Teknikleri | Ön Hazırlık |
---|---|---|---|
1 | Eşzamanlı ve dağıtık programlamaya giriş | Kaynak-1 | |
2 | Aktör model temelleri | Kaynak-1 | |
3 | Aktörlerin Akka ile gerçekleştirimi | Kaynak-1 | |
4 | Aktör tabanlı dağıtık uygulamaların ölçeklenmesi | Kaynak-1 | |
5 | Aktör tabanlı olay akışı ve kalıcılık | Kaynak-1 | |
6 | Olay tabanlı mimarilere giriş | Kaynak-2 | |
7 | RxJava ile reaktif programlama | Kaynak-2 | |
8 | Ara Sınav | ||
9 | Kafka’ya ve dağıtık mesajlaşmaya giriş | Kaynak-3 | |
10 | Gelişmiş olay tabanlı desenler ve kullanım durumları | Kaynak-3 | |
11 | CSP’yi ve Go’nun eşzamanlılık modelini anlama | Kaynak-4 | |
12 | Go’da Goroutine’ler ve kanallar | Kaynak-4 | |
13 | Go ile dağıtık uygulamaların geliştirimi | Kaynak-4 | |
14 | Go ile dağıtık mesajlaşmanın entegrasyonu | Kaynak-4 | |
15 | Dağıtık ve eşzamanlı sistemlerde gelecek trendleri | Sunum ve tartışma | |
16 | Final Sınavı |
1. Sathyanarayanan, Prasanna Kumar, and Suraj Atreya. Reactive programming with Scala and Akka. Packt Publishing Ltd, 2016. 2. Nurkiewicz, Tomasz, and Ben Christensen. Reactive programming with RxJava: creating asynchronous, event-based applications. " O'Reilly Media, Inc.", 2016. 3. Narkhede, Neha, Gwen Shapira, and Todd Palino. Kafka: the definitive guide: real-time data and stream processing at scale. " O'Reilly Media, Inc.", 2017. 4. Cox-Buday, Katherine. Concurrency in Go: Tools and Techniques for Developers. " O'Reilly Media, Inc.", 2017.
- Yarıyıl (Yıl) Ara Sınavının Başarı Notuna Katkısı : %30 - Dönem Projesi : %30 - Yarıyıl (Yıl) Sonu Sınavının Başarı Notuna Katkısı : %40 TOPLAM : %100
Yarıyıl (Yıl) İçi Etkinlikleri | Adet | Değer |
---|---|---|
Ara Sınav | 1 | 50 |
Proje Hazırlama | 1 | 50 |
Toplam | 100 | |
Yarıyıl (Yıl) Sonu Etkinlikleri | Adet | Değer |
Final Sınavı | 1 | 100 |
Toplam | 100 | |
Yarıyıl (Yıl) İçi Etkinlikleri | 60 | |
Yarıyıl (Yıl) Sonu Etkinlikleri | 40 |
Yok
Etkinlikler | Sayısı | Süresi (saat) | Toplam İş Yükü (saat) |
---|---|---|---|
Ara Sınav | 1 | 20 | 20 |
Final Sınavı | 1 | 20 | 20 |
Derse Katılım | 14 | 3 | 42 |
Proje Hazırlama | 1 | 40 | 40 |
Okuma | 14 | 2 | 28 |
Toplam İş Yükü (saat) | 150 |
PÇ 1 | PÇ 2 | PÇ 3 | PÇ 4 | PÇ 5 | PÇ 6 | PÇ 7 | PÇ 8 | PÇ 9 | PÇ 10 | PÇ 11 | |
ÖÇ 1 | 5 | 5 | 4 | ||||||||
ÖÇ 2 | 5 | 5 | 3 | 5 | 3 | 3 | |||||
ÖÇ 3 | 5 | 4 | 3 | 3 | 3 | 5 | 3 | 3 | |||
ÖÇ 4 | 5 | 3 | 4 | 4 | 3 | 5 | 3 | 3 | 3 |