| Bilgisayar Mühendisliği (İngilizce) | |||||
| Lisans | TYYÇ: 6. Düzey | QF-EHEA: 1. Düzey | EQF-LLL: 6. Düzey | ||
| Ders Kodu: | COMP4033 | ||||||||
| Ders İsmi: | Parallel and Distributed Systems | ||||||||
| Ders Yarıyılı: | Güz | ||||||||
| Ders Kredileri: |
|
||||||||
| Öğretim Dili: | EN | ||||||||
| Ders Koşulu: | |||||||||
| Ders İş Deneyimini Gerektiriyor mu?: | Hayır | ||||||||
| Dersin Türü: | Alan Seçmeli | ||||||||
| Dersin Seviyesi: |
|
||||||||
| Dersin Veriliş Şekli: | Yüz yüze | ||||||||
| Dersin Koordinatörü: | Dr.Öğr.Üyesi Osman SELVİ | ||||||||
| Dersi Veren(ler): | |||||||||
| Dersin Yardımcıları: |
| Dersin Amacı: | Paralel ve dağıtılmış bilişim tekniklerini ve yöntemlerini öğrenmek, geliştirebilmek ve uygulayabilmek Paralel ve dağıtılmış sistemlerin tasarımını, geliştirmesini, ve performans analizini yapabilmek Temel bilgisayar bilimleri yöntemleri ve algoritmalarının paralel ve dağıtılmış mimarilerde nasıl uygulanacağını öğrenmek |
| Dersin İçeriği: | Paralel ve dağıtılmış bilişim kavramları Paylaşımlı bellek modelleri Döngü ve görev-düzeyi paralellik Bellek bağdaşımı, eşzamanlılık, önbellek uyumlu çoklu işlemciler Dağıtık bellek modelleri Mesaj geçiş modeli, MPI Dağıtık ağ topolojileri, yönlendirme ve akış kontrolü Dağıtık depolama sistemleri |
Bu dersi başarıyla tamamlayabilen öğrenciler;
|
|||||||||||||||||||||||||||||||||||
| Hafta | Konu | Ön Hazırlık |
| 1) | Paralel bilişim sistemlerine genel bakış | |
| 2) | Paylaşımlı bellek modelleri, PRAM ve iş-zaman modeli | |
| 3) | Paralel bellek hiyerarşisi ve yerelliği, UMA, NUMA ve CC-NUMA paylaşımlı bellek mimarileri | |
| 4) | Döngü-düzeyi paralellik, OpenMP ile döngü iterasyon dağılımı, performans ölçümü ve ayarı | |
| 5) | Görev-düzeyi paralellik, çalışma-zamanı görev planlama ve yük dengeleme, iç içe geçmiş paralellik | |
| 6) | Bellek bağdaşımı ve tutarlılık, eş-zamanlılık ve karşılıklı dışlama işlemlerinin önbellek uyumlu çoklu mikroişlemcilerde uygulanması | |
| 7) | Heterojen işleme modelleri, hesaplamalı hızlandırıcılar, Nvidia GPU mimarisi, programlama ve performans analizi | |
| 8) | Yarıyıl içi sınavları | |
| 9) | Dağıtık bellek modelleri, yığılmış eşzamanlı işlem modelleri, algoritma tasarımı, iletişim maliyet ölçümü, performans kestirimi ve performans ölçümü | |
| 10) | Bölümlenmiş global adres alanı modeli, tek taraflı iletişim, veri dağılımı, UPC | |
| 11) | Mesaj geçme modeli, SPMD programlama, Mesaj Geçiş Arayüzü (MPI), kolektif iletişim | |
| 12) | Bağlantı ağları, topoloji ve performans ölçütleri, yönlendirme ve akış kontrolü | |
| 13) | Dağıtık depolama sistemleri ve programlama modelleri, Hadoop, Spark | |
| 14) | Bulut bilişim uygulamaları, örnekler | |
| 15) | Bulut bilişim uygulamaları, örnekler | |
| 16) | Final Sınavı |
| Ders Notları / Kitaplar: | Distributed Systems: Principles and Paradigms, Andrew S. Tanenbaum & Maarten van Steen |
| Diğer Kaynaklar: | Distributed and Cloud Computing: Clusters, Grids, Clouds, and the Future Internet (DCC), Kai Hwang, Jack Dongarra & Geoffrey C. Fox |
| Ders Öğrenme Kazanımları | 1 |
2 |
3 |
4 |
||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Program Kazanımları | ||||||||||
| 1) Mühendislik Bilgisi: Matematik, fen bilimleri ve bilgisayar mühendisliği alanına özgü temel bilgi ve becerilere sahiptir; bu bilgileri karmaşık mühendislik problemlerinin çözümünde etkin bir şekilde kullanır. ve yenilikçi çözümler geliştirerek inovasyon süreçlerine katkıda bulunur. | ||||||||||
| 2) Problem Analizi: Temel bilim, matematik ve mühendislik bilgilerini kullanarak karmaşık bilgisayar mühendisliği problemlerini tanımlar, analiz eder ve çözer. Bu süreçte, yenilikçi ve sürdürülebilir bilişim çözümleri geliştirirken, enerji tasarruflu sistemler ve verimli algoritmalar tasarlar. Güvenilir, ölçeklenebilir ve dayanıklı dijital altyapılar oluştururken, veri güvenliği, etik yapay zeka kullanımı ve dijital erişilebilirlik gibi toplumsal ve ekonomik etkileri gözetir. Uygun modelleme ve analiz yöntemlerini seçerek bu ilkeleri etkin bir şekilde uygular. | ||||||||||
| 3) Mühendislik Tasarımı: Gerçek dünyadaki kısıtlar ve gereksinimler doğrultusunda bir sistemi, süreci, cihazı veya ürünü tasarlayabilir; bu süreçte yenilikçi çözümler geliştirerek, modern mühendislik yöntemlerini uygular ve inovasyon süreçlerine katkıda bulunur. | ||||||||||
| 4) Teknik ve Araçların Kullanımı: Mühendislik uygulamalarında karşılaşılan problemleri çözmek için modern teknikleri, bilişim teknolojilerini ve mühendislik araçlarını etkin bir şekilde seçer ve kullanır. | ||||||||||
| 5) Araştırma ve İnceleme: Bilimsel araştırma yöntemlerini ve deneysel tasarımları anlayarak, deney tasarlayabilir ve gerçekleştirebilir, veri toplayabilir ve sonuçları analiz ederek bilimsel temellere dayalı yorum yapabilir. | ||||||||||
| 6) Mühendislik Uygulamalarının Küresel Etkisi: Bilgisayar mühendisliği çözümlerinin sağlık, güvenlik, ekonomi, sürdürülebilirlik ve çevre üzerindeki etkilerini değerlendirir. Enerji verimli sistemler, sürdürülebilir dijital altyapılar ve çevre dostu yazılım geliştirmeye odaklanarak, küresel kalkınma hedeflerine katkı sağlamak için derinlemesine bilgi sahibidir. Yapay zeka, büyük veri ve dijital güvenlik gibi alanlardaki mühendislik uygulamalarının toplumsal etkilerini dikkate alır ve etik sorumluluklar konusunda farkındalık geliştirir. | ||||||||||
| 7) Etik Davranış: Mühendislik mesleğinin etik ilkelerine uygun hareket eder ve topluma, çevreye ve insanlığa karşı mesleki sorumluluk bilinciyle kararlar alır ve uygular. | ||||||||||
| 8) Bireysel ve Takım Çalışması: Bireysel olarak ve disiplin içi ya da çok disiplinli takımlarda, farklı kültürlerden ve dillerden takım üyeleriyle, yazılı, sözlü ve görsel iletişimde, hem Türkçe hem de İngilizce yetkin bir şekilde çalışabilir; uzaktan, yüz yüze veya karma modellerde takım üyesi ya da lider olarak projeleri başarıyla yönetebilir. | ||||||||||
| 9) İletişim Becerileri: Hedef kitlenin eğitim, dil ve mesleki farklılıklarını dikkate alarak, teknik konularda sözlü, yazılı ve görsel olarak etkili iletişim kurabilir. | ||||||||||
| 10) Proje Yönetimi ve İş Hayatı Uygulamaları: Proje yönetimi, risk analizi, ekonomik yapılabilirlik analizi ve değişim yönetimi gibi iş süreçlerine hâkimdir; girişimcilik, yenilikçilik ve sürdürülebilirlik konularında farkındalık sahibidir. | ||||||||||
| 11) Yaşam Boyu Öğrenme: Bağımsız ve sürekli öğrenmenin önemini kavrar; bilgiye erişim yollarını kullanarak bilimsel ve teknolojik gelişmeleri takip eder ve kendini sürekli yeniler. | ||||||||||
| Etkisi Yok | 1 En Düşük | 2 Düşük | 3 Orta | 4 Yüksek | 5 En Yüksek |
| Dersin Program Kazanımlarına Etkisi | Katkı Payı | |
| 1) | Mühendislik Bilgisi: Matematik, fen bilimleri ve bilgisayar mühendisliği alanına özgü temel bilgi ve becerilere sahiptir; bu bilgileri karmaşık mühendislik problemlerinin çözümünde etkin bir şekilde kullanır. ve yenilikçi çözümler geliştirerek inovasyon süreçlerine katkıda bulunur. | |
| 2) | Problem Analizi: Temel bilim, matematik ve mühendislik bilgilerini kullanarak karmaşık bilgisayar mühendisliği problemlerini tanımlar, analiz eder ve çözer. Bu süreçte, yenilikçi ve sürdürülebilir bilişim çözümleri geliştirirken, enerji tasarruflu sistemler ve verimli algoritmalar tasarlar. Güvenilir, ölçeklenebilir ve dayanıklı dijital altyapılar oluştururken, veri güvenliği, etik yapay zeka kullanımı ve dijital erişilebilirlik gibi toplumsal ve ekonomik etkileri gözetir. Uygun modelleme ve analiz yöntemlerini seçerek bu ilkeleri etkin bir şekilde uygular. | |
| 3) | Mühendislik Tasarımı: Gerçek dünyadaki kısıtlar ve gereksinimler doğrultusunda bir sistemi, süreci, cihazı veya ürünü tasarlayabilir; bu süreçte yenilikçi çözümler geliştirerek, modern mühendislik yöntemlerini uygular ve inovasyon süreçlerine katkıda bulunur. | |
| 4) | Teknik ve Araçların Kullanımı: Mühendislik uygulamalarında karşılaşılan problemleri çözmek için modern teknikleri, bilişim teknolojilerini ve mühendislik araçlarını etkin bir şekilde seçer ve kullanır. | |
| 5) | Araştırma ve İnceleme: Bilimsel araştırma yöntemlerini ve deneysel tasarımları anlayarak, deney tasarlayabilir ve gerçekleştirebilir, veri toplayabilir ve sonuçları analiz ederek bilimsel temellere dayalı yorum yapabilir. | |
| 6) | Mühendislik Uygulamalarının Küresel Etkisi: Bilgisayar mühendisliği çözümlerinin sağlık, güvenlik, ekonomi, sürdürülebilirlik ve çevre üzerindeki etkilerini değerlendirir. Enerji verimli sistemler, sürdürülebilir dijital altyapılar ve çevre dostu yazılım geliştirmeye odaklanarak, küresel kalkınma hedeflerine katkı sağlamak için derinlemesine bilgi sahibidir. Yapay zeka, büyük veri ve dijital güvenlik gibi alanlardaki mühendislik uygulamalarının toplumsal etkilerini dikkate alır ve etik sorumluluklar konusunda farkındalık geliştirir. | |
| 7) | Etik Davranış: Mühendislik mesleğinin etik ilkelerine uygun hareket eder ve topluma, çevreye ve insanlığa karşı mesleki sorumluluk bilinciyle kararlar alır ve uygular. | |
| 8) | Bireysel ve Takım Çalışması: Bireysel olarak ve disiplin içi ya da çok disiplinli takımlarda, farklı kültürlerden ve dillerden takım üyeleriyle, yazılı, sözlü ve görsel iletişimde, hem Türkçe hem de İngilizce yetkin bir şekilde çalışabilir; uzaktan, yüz yüze veya karma modellerde takım üyesi ya da lider olarak projeleri başarıyla yönetebilir. | |
| 9) | İletişim Becerileri: Hedef kitlenin eğitim, dil ve mesleki farklılıklarını dikkate alarak, teknik konularda sözlü, yazılı ve görsel olarak etkili iletişim kurabilir. | |
| 10) | Proje Yönetimi ve İş Hayatı Uygulamaları: Proje yönetimi, risk analizi, ekonomik yapılabilirlik analizi ve değişim yönetimi gibi iş süreçlerine hâkimdir; girişimcilik, yenilikçilik ve sürdürülebilirlik konularında farkındalık sahibidir. | |
| 11) | Yaşam Boyu Öğrenme: Bağımsız ve sürekli öğrenmenin önemini kavrar; bilgiye erişim yollarını kullanarak bilimsel ve teknolojik gelişmeleri takip eder ve kendini sürekli yeniler. |
| Anlatım | |
| Ders | |
| Grup çalışması ve ödevi | |
| Laboratuvar | |
| Soru cevap/ Tartışma | |
| Uygulama (Modelleme, Tasarım, Maket, Simülasyon, Deney vs.) |
| Yazılı Sınav (Açık uçlu sorular, çoktan seçmeli, doğru yanlış, eşleştirme, boşluk doldurma, sıralama) | |
| Uygulama | |
| Bireysel Proje | |
| Grup Projesi |
| Yarıyıl İçi Çalışmaları | Aktivite Sayısı | Katkı Payı |
| Projeler | 1 | % 30 |
| Ara Sınavlar | 1 | % 30 |
| Final | 1 | % 40 |
| Toplam | % 100 | |
| YARIYIL İÇİ ÇALIŞMALARININ BAŞARI NOTU KATKISI | % 60 | |
| YARIYIL SONU ÇALIŞMALARININ BAŞARI NOTUNA KATKISI | % 40 | |
| Toplam | % 100 | |
| Aktiviteler | Aktivite Sayısı | Süre (Saat) | İş Yükü |
| Ders Saati | 13 | 3 | 39 |
| Laboratuvar | 13 | 2 | 26 |
| Sınıf Dışı Ders Çalışması | 13 | 3 | 39 |
| Proje | 1 | 16 | 16 |
| Ara Sınavlar | 1 | 12 | 12 |
| Final | 1 | 12 | 12 |
| Toplam İş Yükü | 144 | ||