Ders Detayı
Ders Tanımı
| Ders | Kodu | Yarıyıl | T+U Saat | Kredi | AKTS |
|---|---|---|---|---|---|
| PARALEL PROGRAMLAMA | BPR2110500 | Güz Dönemi | 1+2 | 2 | 3 |
| Ders Programı |
| Ön Koşul Dersleri | |
| Önerilen Seçmeli Dersler |
| Dersin Dili | Türkçe |
| Dersin Seviyesi | Ön Lisans |
| Dersin Türü | Programa Bağlı Seçmeli |
| Dersin Koordinatörü | |
| Dersi Verenler | Öğr.Gör. Aydın KÜÇÜKÇONGAR |
| Dersin Yardımcıları | |
| Dersin Amacı | Bu dersin ana amacı öğrenciye paralel yazılım mimarisinin farkı işlemciler üzerinde uygulanması ve yeni teknolojiler hakkında teknik bilgilerin kazandırılmasıdır. |
| Dersin İçeriği | Bu ders; Paralel programlamaya giriş,CPU ve GPU mimarileri,Paralel yazılım tasarlama,Paralel programlama modelleri (veri-paralel),MPI kavramı,OpenMP programlama mimarisi,OpenCL ve CUDA programlama mimarileri,Ana Program (Host) tasarımı,Ana Program (Host) tasarımı,Çekirdek Fonksiyon(Kernel) tasarımı,Çekirdek Fonksiyon(Kernel) tasarımı,Seri ve paralel program uygulama karşılaştırmaları,Seri ve paralel program uygulama karşılaştırmaları,Heterojen programlama; konularını içermektedir. |
| Dersin Öğrenme Kazanımları | Öğretim Yöntemleri | Ölçme Yöntemleri |
| 1. Paralel Programlamanın temel yapısını açıklar. | ||
| 2. Paralel Programlama mimarileri kullanılarak program tasarımı gerçekleştirir. | ||
| 3. Paralel programlamada farklı mimariler üzerindeki performans kazanımlarını gözlemleyerek yorumlar. |
| Öğretim Yöntemleri: | |
| Ölçme Yöntemleri: |
Ders Akışı
| Sıra | Konular | Ön Hazırlık |
|---|---|---|
| 1 | Paralel programlamaya giriş | |
| 2 | CPU ve GPU mimarileri | |
| 3 | Paralel yazılım tasarlama | |
| 4 | Paralel programlama modelleri (veri-paralel) | |
| 5 | MPI kavramı | |
| 6 | OpenMP programlama mimarisi | |
| 7 | OpenCL ve CUDA programlama mimarileri | |
| 8 | Ana Program (Host) tasarımı | |
| 9 | Ana Program (Host) tasarımı | |
| 10 | Çekirdek Fonksiyon(Kernel) tasarımı | |
| 11 | Çekirdek Fonksiyon(Kernel) tasarımı | |
| 12 | Seri ve paralel program uygulama karşılaştırmaları | |
| 13 | Seri ve paralel program uygulama karşılaştırmaları | |
| 14 | Heterojen programlama |
| Kaynak |
| 1. Kumar, V., P., Grama, A., Gupta, A., Karypis, G. Introduction to Parallel Computing 2. Ders Notları 3. Peter Pacheco — An Introduction to Parallel Programming, Morgan Kaufmann (2011) 4. David B. Kirk & Wen-mei W. Hwu — Programming Massively Parallel Processors, Morgan Kaufmann (3rd ed., 2016) 5. Matthew Scarpino — OpenCL in Action, Manning Publications (2011) 6. Ananth Grama, George Karypis, Vipin Kumar & Anshul Gupta — Introduction to Parallel Computing, Pearson (2nd ed., 2003) |
Dersin Program Yeterliliklerine Katkısı
| Dersin Program Yeterliliklerine Katkısı | |||||||
| No | Program Yeterliliği | Katkı Düzeyi | |||||
| 1 | 2 | 3 | 4 | 5 | |||
| 1 | Bilgisayar Programcılığı ile ilgili edindiği uygulama bilgilerini kullanabilmeli.. | X | |||||
| 2 | Düşünce ve önerilerini nitel ve nicel verilerle destekleyerek uzman olan ve olmayan kişilerle paylaşabilmeli | ||||||
| 3 | Bilgisayar Programcılığı ile ilgili tanımı iyi yapılmış problemlerin çözümü için veri toplayabilmeli ve kullanabilmeli | X | |||||
| 4 | Bilgisayar Programcılığı ile ilgili pratik uygulamalarda gereken teorik bilgileri, el ve/veya düşünsel becerileri kullanabilmeli | X | |||||
| 5 | Mesleki özgüveni olmalı | ||||||
| 6 | |||||||
| 7 | Bilgisayar Programcılığında edindiği kuramsal bilgilerini kullanabilmeli | ||||||
| 8 | Bilgisayar Programcılığının gerektirdiği düzeyde bilgisayar yazılımı ve bilişim-iletişim teknolojilerini kullanabilmeli | X | |||||
| 9 | Sektörün beklentilerini karşılayacak şekilde Bilgisayar Programcılığı ile ilgili süreci/süreçleri planlama becerisine sahip olmalı | ||||||
| 10 | Bilgisayar Programcılığında bağımsız olarak öğrendiklerini uygulayabilmeli | X | |||||
| 11 | Bilgisayar Programcılığı ile ilgili çalışmalarda öngörülemeyen problemleri belirleyebilmeli ve çözüm üretebilmeli | ||||||
| 12 | Bilgisayar Programcılığı ile ilgili konularda kişi ve kurumları bilgilendirebilmek için düşüncelerini yazılı ve sözlü olarak aktarabilmeli | ||||||
| 13 | Bilgisayar Programcılığı ile ilgili verilerin toplanması, yorumlanması, duyurulması ve uygulanmasında toplumsal, bilimsel ve etik değerlere sahip olabilmeli | X | |||||
| 14 | Uygulamada karşılaştığı bilgileri bilgisayar ortamına aktararak çözebilmeli | X | |||||
| 15 | Bilgisayar Programcılığı ile ilgili uygulamalar için gerekli teknik ve modern araçları kullanabilmeli | X | |||||
Değerlendirme Sistemi
| Katkı Düzeyi | Mutlak Değerlendirme | |
| Ara Sınavın Başarıya Oranı | 40 | |
| Genel Sınavın Başarıya Oranı | 60 | |
| Toplam | 100 | |
| AKTS / İşyükü Tablosu | ||||||
| Etkinlik | Sayı | Süresi (Saat) | Toplam İş Yükü (Saat) | |||
| Toplam İş Yükü (Saat) | 0 | |||||
| Dersin AKTS Kredisi = Toplam İş Yükü (Saat)/30*=(0/30) | 0 | |||||
| Dersin AKTS Kredisi: *30 saatlik çalışma 1 AKTS kredisi sayılmaktadır. | ||||||
Dersin Detaylı Bilgileri
Ders Tanımı
| Ders | Kodu | Yarıyıl | T+U Saat | Kredi | AKTS |
|---|---|---|---|---|---|
| PARALEL PROGRAMLAMA | BPR2110500 | Güz Dönemi | 1+2 | 2 | 3 |
| Ders Programı |
| Ön Koşul Dersleri | |
| Önerilen Seçmeli Dersler |
| Dersin Dili | Türkçe |
| Dersin Seviyesi | Ön Lisans |
| Dersin Türü | Programa Bağlı Seçmeli |
| Dersin Koordinatörü | |
| Dersi Verenler | Öğr.Gör. Aydın KÜÇÜKÇONGAR |
| Dersin Yardımcıları | |
| Dersin Amacı | Bu dersin ana amacı öğrenciye paralel yazılım mimarisinin farkı işlemciler üzerinde uygulanması ve yeni teknolojiler hakkında teknik bilgilerin kazandırılmasıdır. |
| Dersin İçeriği | Bu ders; Paralel programlamaya giriş,CPU ve GPU mimarileri,Paralel yazılım tasarlama,Paralel programlama modelleri (veri-paralel),MPI kavramı,OpenMP programlama mimarisi,OpenCL ve CUDA programlama mimarileri,Ana Program (Host) tasarımı,Ana Program (Host) tasarımı,Çekirdek Fonksiyon(Kernel) tasarımı,Çekirdek Fonksiyon(Kernel) tasarımı,Seri ve paralel program uygulama karşılaştırmaları,Seri ve paralel program uygulama karşılaştırmaları,Heterojen programlama; konularını içermektedir. |
| Dersin Öğrenme Kazanımları | Öğretim Yöntemleri | Ölçme Yöntemleri |
| 1. Paralel Programlamanın temel yapısını açıklar. | ||
| 2. Paralel Programlama mimarileri kullanılarak program tasarımı gerçekleştirir. | ||
| 3. Paralel programlamada farklı mimariler üzerindeki performans kazanımlarını gözlemleyerek yorumlar. |
| Öğretim Yöntemleri: | |
| Ölçme Yöntemleri: |
Ders Akışı
| Sıra | Konular | Ön Hazırlık |
|---|---|---|
| 1 | Paralel programlamaya giriş | |
| 2 | CPU ve GPU mimarileri | |
| 3 | Paralel yazılım tasarlama | |
| 4 | Paralel programlama modelleri (veri-paralel) | |
| 5 | MPI kavramı | |
| 6 | OpenMP programlama mimarisi | |
| 7 | OpenCL ve CUDA programlama mimarileri | |
| 8 | Ana Program (Host) tasarımı | |
| 9 | Ana Program (Host) tasarımı | |
| 10 | Çekirdek Fonksiyon(Kernel) tasarımı | |
| 11 | Çekirdek Fonksiyon(Kernel) tasarımı | |
| 12 | Seri ve paralel program uygulama karşılaştırmaları | |
| 13 | Seri ve paralel program uygulama karşılaştırmaları | |
| 14 | Heterojen programlama |
| Kaynak |
| 1. Kumar, V., P., Grama, A., Gupta, A., Karypis, G. Introduction to Parallel Computing 2. Ders Notları 3. Peter Pacheco — An Introduction to Parallel Programming, Morgan Kaufmann (2011) 4. David B. Kirk & Wen-mei W. Hwu — Programming Massively Parallel Processors, Morgan Kaufmann (3rd ed., 2016) 5. Matthew Scarpino — OpenCL in Action, Manning Publications (2011) 6. Ananth Grama, George Karypis, Vipin Kumar & Anshul Gupta — Introduction to Parallel Computing, Pearson (2nd ed., 2003) |
Dersin Program Yeterliliklerine Katkısı
| Dersin Program Yeterliliklerine Katkısı | |||||||
| No | Program Yeterliliği | Katkı Düzeyi | |||||
| 1 | 2 | 3 | 4 | 5 | |||
| 1 | Bilgisayar Programcılığı ile ilgili edindiği uygulama bilgilerini kullanabilmeli.. | X | |||||
| 2 | Düşünce ve önerilerini nitel ve nicel verilerle destekleyerek uzman olan ve olmayan kişilerle paylaşabilmeli | ||||||
| 3 | Bilgisayar Programcılığı ile ilgili tanımı iyi yapılmış problemlerin çözümü için veri toplayabilmeli ve kullanabilmeli | X | |||||
| 4 | Bilgisayar Programcılığı ile ilgili pratik uygulamalarda gereken teorik bilgileri, el ve/veya düşünsel becerileri kullanabilmeli | X | |||||
| 5 | Mesleki özgüveni olmalı | ||||||
| 6 | |||||||
| 7 | Bilgisayar Programcılığında edindiği kuramsal bilgilerini kullanabilmeli | ||||||
| 8 | Bilgisayar Programcılığının gerektirdiği düzeyde bilgisayar yazılımı ve bilişim-iletişim teknolojilerini kullanabilmeli | X | |||||
| 9 | Sektörün beklentilerini karşılayacak şekilde Bilgisayar Programcılığı ile ilgili süreci/süreçleri planlama becerisine sahip olmalı | ||||||
| 10 | Bilgisayar Programcılığında bağımsız olarak öğrendiklerini uygulayabilmeli | X | |||||
| 11 | Bilgisayar Programcılığı ile ilgili çalışmalarda öngörülemeyen problemleri belirleyebilmeli ve çözüm üretebilmeli | ||||||
| 12 | Bilgisayar Programcılığı ile ilgili konularda kişi ve kurumları bilgilendirebilmek için düşüncelerini yazılı ve sözlü olarak aktarabilmeli | ||||||
| 13 | Bilgisayar Programcılığı ile ilgili verilerin toplanması, yorumlanması, duyurulması ve uygulanmasında toplumsal, bilimsel ve etik değerlere sahip olabilmeli | X | |||||
| 14 | Uygulamada karşılaştığı bilgileri bilgisayar ortamına aktararak çözebilmeli | X | |||||
| 15 | Bilgisayar Programcılığı ile ilgili uygulamalar için gerekli teknik ve modern araçları kullanabilmeli | X | |||||
Değerlendirme Sistemi
| Katkı Düzeyi | Mutlak Değerlendirme | |
| Ara Sınavın Başarıya Oranı | 40 | |
| Genel Sınavın Başarıya Oranı | 60 | |
| Toplam | 100 | |