Genel Bilgi
Birim | FEN-EDEBİYAT FAKÜLTESİ |
BİLGİSAYAR BİLİMLERİ PR. | |
Kod | BBZ311 |
Ad | Paralel Programlama |
Dönem | 2025-2026 Eğitim-Öğretim Yılı |
Yarıyıl | 5. Yarıyıl |
Süre (T+U) | 3-0 (T-U) (17 Hafta) |
AKTS | 5 AKTS |
Yerel Kredi | 3 Yerel Kredi |
Eğitim Dil | Türkçe |
Seviye | Belirsiz |
Tür | Normal |
Etiket | S Seçmeli |
Öğretim Şekli | Yüz Yüze Öğretim |
Bilgi Paketi Koordinatörü | Dr. Öğr. Üyesi Cevher ÖZDEN |
Dersin Öğretim Elemanı |
Güncel dönem ders programı henüz yapılmamıştır.
|
Dersin Amacı / Hedefi
Bu dersin amacı, öğrencilere paralel programlamanın temel kavramlarını, modellerini ve yaklaşımlarını öğretmektir. Paylaşımlı ve dağıtık bellekli sistemlerde paralel program geliştirme becerisi kazandırmak, OpenMP ve MPI gibi yaygın paralel programlama kütüphanelerini etkin şekilde kullanabilmelerini sağlamak ve paralel algoritmaların tasarımı ile performans analizlerini gerçekleştirme yetkinliği kazandırmak hedeflenmektedir.
Dersin İçeriği
Bu ders, paralel programlamanın temel kavramlarını, modellerini ve tekniklerini öğretmeyi amaçlar. Öğrenciler, paylaşımlı ve dağıtık bellekli sistemlerde paralel programlama yaklaşımlarını , paralel algoritma tasarımı ve performans analizi konularında bilgi ve beceri kazanırlar. Ders, teorik bilgilerin yanı sıra pratik uygulamalarla desteklenir.
Dersin Ön Koşulu
Yok
Kaynaklar
Michael J. Quinn, Parallel Programming in C with MPI and OpenMP, McGraw-Hill. Jesper Larsson Träff, Lectures on Parallel Computing, arXiv:2407.18795.
Notlar
Ananth Grama, Anshul Gupta, George Karypis, Vipin Kumar, Introduction to Parallel Computing, Addison-Wesley. William Gropp, Ewing Lusk, Anthony Skjellum, Using MPI: Portable Parallel Programming with the Message-Passing Interface, MIT Press.
Dersin Öğrenme Çıktıları
Sıra | Dersin Öğrenme Çıktıları |
---|---|
ÖÇ01 | Paralel programlamanın temel kavramlarını açıklar. |
ÖÇ02 | Paralel algoritma tasarımı ilkelerini uygular. |
ÖÇ03 | OpenMP ve MPI kullanarak paralel programlar geliştirir. |
ÖÇ04 | Paralel programların performansını analiz eder ve optimize eder. |
ÖÇ05 | Paralel programlamada senkronizasyon ve eşzamanlılık problemlerini çözer. |
ÖÇ06 | Paralel programlama projelerinde takım çalışması ve teknik raporlama becerilerini geliştirir. |
Program Öğrenme Çıktıları ile İlişkisi
Sıra | Tür | Program Öğrenme Çıktıları | Duzey |
---|---|---|---|
PÖÇ01 | Bilgi - Kuramsal, Olgusal | Bilgisayar Bilimleri temel kavramları, algoritmalar ve veri yapıları hakkında geniş bir bilgi yelpazesi kazandırır. | |
PÖÇ02 | Bilgi - Kuramsal, Olgusal | Yazılım geliştirme, programlama dilleri ve veritabanı yönetimi gibi temel bilgisayar konularını öğrenir. | |
PÖÇ03 | Bilgi - Kuramsal, Olgusal | Veri bilimi, yapay zeka ve makine öğrenimi gibi ileri düzey bilgisayar alanlarını anlar. | |
PÖÇ04 | Bilgi - Kuramsal, Olgusal | Bilgisayar ağları, siber güvenlik ve veritabanı tasarımı gibi konularda bilgi edinir. | |
PÖÇ05 | Beceriler - Bilişsel, Uygulamalı | Algoritmaları tasarlama, uygulama ve analiz etme becerilerini geliştirir. | 5 |
PÖÇ06 | Beceriler - Bilişsel, Uygulamalı | Farklı programlama dillerini etkili bir şekilde kullanabilme yeteneği kazanır | 5 |
PÖÇ07 | Beceriler - Bilişsel, Uygulamalı | Veri analizi, veritabanı yönetimi ve büyük veri işleme becerilerini öğrenir. | |
PÖÇ08 | Beceriler - Bilişsel, Uygulamalı | Yazılım geliştirme projelerinde çalışarak pratik deneyim kazanır. | 5 |
PÖÇ09 | Yetkinlikler - Bağımsız Çalışabilme ve Sorumluluk Alabilme Yetkinliği | Ekip içinde işbirliği yapma ve iletişim becerilerini güçlendirir. | |
PÖÇ10 | Yetkinlikler - Alana Özgü Yetkinlik | Teknolojik yeniliklere açık bir zihniyet kazandırır. | |
PÖÇ11 | Yetkinlikler - Öğrenme Yetkinliği | Sürekli öğrenme ve kendini geliştirme yetkinliğini teşvik eder. | |
PÖÇ12 | Yetkinlikler - İletişim ve Sosyal Yetkinlik | Karmaşık sorunları çözme yeteneği geliştirir. |
Haftalık Akış
Hafta | Konu | Ön Hazırlık | Yöntemler |
---|---|---|---|
1 | Paralel programlamaya giriş; motivasyon ve temel kavramlar | Paralel hesaplama hakkında genel okuma | Öğretim Yöntemleri: Anlatım, Soru-Cevap, Tartışma |
2 | Paralel bilgisayar mimarileri ve sınıflandırması | Flynn taksonomisi üzerine çalışma | Öğretim Yöntemleri: Anlatım, Soru-Cevap, Tartışma |
3 | Paylaşımlı bellekli sistemlerde programlama: OpenMP | OpenMP temel kavramları | Öğretim Yöntemleri: Anlatım, Soru-Cevap, Tartışma |
4 | OpenMP ile paralel döngüler ve senkronizasyon | OpenMP direktifleri üzerine uygulamalar | Öğretim Yöntemleri: Anlatım, Tartışma |
5 | Dağıtık bellekli sistemlerde programlama: MPI | MPI temel fonksiyonları | Öğretim Yöntemleri: Anlatım, Soru-Cevap, Tartışma |
6 | MPI ile iletişim ve kolektif işlemler | MPI iletişim modelleri üzerine çalışma | Öğretim Yöntemleri: Soru-Cevap, Anlatım, Tartışma |
7 | Paralel algoritma tasarımı ve performans analizi | Amdahl ve Gustafson yasaları üzerine çalışma | Öğretim Yöntemleri: Anlatım, Soru-Cevap, Tartışma |
8 | Ara Sınavlar | Önceki konuların tekrarı | Ölçme Yöntemleri: Yazılı Sınav |
9 | Senkronizasyon problemleri ve çözüm teknikleri | Deadlock ve race condition üzerine çalışma | Öğretim Yöntemleri: Anlatım, Soru-Cevap, Tartışma |
10 | Paralel sıralama ve arama algoritmalar | Paralel algoritmalar üzerine uygulamalar | Öğretim Yöntemleri: Anlatım, Soru-Cevap, Tartışma |
11 | Matris işlemleri ve sayısal algoritmalar | Paralel matris çarpımı üzerine çalışma | Öğretim Yöntemleri: Anlatım, Soru-Cevap, Tartışma |
12 | Paralel programlarda performans ölçümü ve optimizasyon | Profiling araçları kullanımı | Öğretim Yöntemleri: Anlatım, Soru-Cevap, Tartışma |
13 | Paralel programlama projeleri ve vaka çalışmaları | Proje raporlarının hazırlanması | Öğretim Yöntemleri: Anlatım, Soru-Cevap, Tartışma |
14 | Paralel programlama örneklerinin karşılaştırılması ve ders geneli değerlendirme | Farklı paralel modellerde yazılmış örneklerin karşılaştırılması | Öğretim Yöntemleri: Gösterip Yaptırma, Anlatım |
15 | Genel tekrar ve final sınavı hazırlığı | Tüm konuların gözden geçirilmesi | Öğretim Yöntemleri: Anlatım, Soru-Cevap, Tartışma |
16 | Yarıyıl Sonu Sınavları | Yazılı sınav uygulaması | Ölçme Yöntemleri: Yazılı Sınav |
17 | Yarıyıl Sonu Sınavları | Yazılı sınav uygulaması | Ölçme Yöntemleri: Yazılı Sınav |
Öğrenci İş Yükü - AKTS
Çalışmalar | Sayısı | Süresi (Saat) | İş Yükü (Saat) |
---|---|---|---|
Ders ile İlgili Çalışmalar | |||
Ders (Sınav haftaları dahil değildir) | 14 | 3 | 42 |
Sınıf Dışı Ders Çalışma (Ön çalışma, pekiştirme) | 14 | 3 | 42 |
Değerlendirmeler ile İlgili Çalışmalar | |||
Ödev, Proje, Diğer | 5 | 10 | 50 |
Ara Sınavlar (Yazılı, Sözlü, vs.) | 1 | 1 | 1 |
Yarıyıl/Yıl Sonu/Final Sınavı | 1 | 1 | 1 |
Toplam İş Yükü (Saat) | 136 | ||
Toplam İş Yükü / 25 (s) | 5,44 | ||
AKTS | 5 AKTS |