Bilgisayar Mühendisliği (İngilizce) | |||||
Lisans | TYYÇ: 6. Düzey | QF-EHEA: 1. Düzey | EQF-LLL: 6. Düzey |
Ders Kodu: | COE011 | ||||
Ders İsmi: | Paralel Hesaplama | ||||
Ders Yarıyılı: | Bahar | ||||
Ders Kredileri: |
|
||||
Öğretim Dili: | İngilizce | ||||
Ders Koşulu: | |||||
Ders İş Deneyimini Gerektiriyor mu?: | Hayır | ||||
Dersin Türü: | Bölüm/Program Seçmeli | ||||
Dersin Seviyesi: |
|
||||
Dersin Veriliş Şekli: | Yüz yüze | ||||
Dersin Koordinatörü: | Doç. Dr. AMIR SEYYEDABBASI | ||||
Dersi Veren(ler): | Dr. Öğr. Üyesi Amir Seyyedabbasi | ||||
Dersin Yardımcıları: |
Dersin Amacı: | Paralel Hesaplama kavramları, Paralel Programlama Becerileri, Paralel Algoritmalar ve Veri Yapıları, Paralel Hesaplama Mimarileri hakkında genel bir bakış sunmayı amaçlamaktadır. |
Dersin İçeriği: | Dersin içeriği, paralel hesaplamanın temel kavram ve ilkelerinden, paralel programlama dillerinin (OpenMP,MPI, CUDA) kazanılmasından, paralel programların performansını optimize etme tekniklerinden, yaygın hesaplama problemlerini çözmek için paralel algoritmaların tasarımı ve analizinden oluşur. |
Bu dersi başarıyla tamamlayabilen öğrenciler;
1) Paralel performans, hızlanma ve verimlilik kavramlarını kullanabilirler. 2) Temel Paralel Algoritmaları analiz edebilirler, programlama amacıyla kullanabilirler. 3) MPI kullanarak Dağıtık Bellek Programları yazabilirler. 4) OpenMP ve Pthreads kullanarak Paylaşımlı Bellek Programları yazabilirler. 5) CUDA kullanarak GPU tabanlı paralel programlar yazabilirler. |
Hafta | Konu | Ön Hazırlık |
1) | Paralel hesaplamaya giriş, genel ilkeler, taksonomi | |
2) | Paralel Hesaplama Mimarileri, Donanım ve Yazılım 1 | |
3) | Paralel Hesaplama Mimarileri, Donanım ve Yazılım 2 | |
4) | MPI ile Dağıtılmış Bellekli Programlama (1) | |
5) | MPI ile Dağıtılmış Bellekli Programlama (2) | |
6) | Paralel Bölümleme Stratejileri | |
7) | Yük Dengeleme | |
8) | Ara Sınav | |
9) | Pthreads ile Paylaşılan Bellek Programlama | |
10) | Paylaşılan bellek programlama -1 (OpenMP) | |
11) | Paylaşılan bellek programlama -2 (OpenMP) | |
12) | CUDA ile GPU programlama | |
13) | CUDA ile GPU programlama | |
14) | Dönem Projesi Sunumları |
Ders Notları / Kitaplar: | An Introduction to Parallel Programming 2nd Edition. Peter S. Pacheco, Matthew Malensek Introduction to Parallel Computing, A. Grama, A. Gupta, G.Karypis, V. Kumar, Addison Wesley. |
Diğer Kaynaklar: | Parallel Computing, Theory and practice, M.J.Quinn, McGraw Hill. Parallel programming with MPI, P.S. Pacheco.Morgan Kaufmann. GPU Gems 1&2, Nvidia. |
Course Learning Outcomes | 1 |
2 |
3 |
4 |
5 |
||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Program Kazanımları | |||||||||||
1) Matematik, bilim ve bilgisayar mühendisliği prensipleri hakkında yeterli bilgiye sahip olma, hem teorik hem de pratik olarak, ve bu bilgiyi karmaşık mühendislik problemlerine uygulayabilme becerisi. | |||||||||||
2) Uygun analiz ve modelleme tekniklerini kullanarak karmaşık bilgisayar mühendisliği problemlerini tanımlama, formülleme ve çözebilme yeteneği. | 2 | 2 | 2 | 2 | |||||||
3) Belirli gereksinimleri karşılayan ve gerçekçi kısıtlar ve koşullar altında çalışan karmaşık bilgisayar sistemleri, cihazlar veya ürünler tasarlama ve geliştirme yeteneği, modern tasarım yöntemlerini kullanma yeteneği. | 2 | 3 | 3 | 3 | 3 | ||||||
4) Karmaşık bilgisayar mühendisliği problemlerinin analizi ve çözümü için kullanılan modern teknikleri ve araçları geliştirme, seçme ve kullanabilme yeteneği, bilgi teknolojilerini etkili bir şekilde kullanabilme yeteneği. | |||||||||||
5) Karmaşık bilgisayar mühendisliği problemleri veya araştırma konularının incelenmesinde deney planlama ve yürütme, veri toplama ve analiz etme, sonuçları yorumlama yeteneği. | |||||||||||
6) Çok disiplinli ekiplerde etkili bir şekilde çalışma yeteneği; bireysel çalışma becerileri. | |||||||||||
7) Sözlü ve yazılı iletişim becerileriyle etkili iletişim kurabilme; en az bir yabancı dil bilgisi; etkili raporlar yazabilme ve yazılı raporları anlayabilme, tasarım ve üretim raporları hazırlayabilme, etkili sunumlar yapabilme, açık ve anlaşılır talimatlar verip alabilme yeteneği. | |||||||||||
8) Yaşam boyu öğrenme gerekliliğinin farkında olma; bilgiye erişme yeteneği, bilim ve teknolojideki gelişmeleri takip etme ve sürekli yenileme yeteneği. | |||||||||||
9) Etik prensiplere, mesleki ve etik sorumluluğa uygun davranma; mühendislik uygulamalarında kullanılan standartlar hakkında bilgi sahibi olma. | |||||||||||
10) Proje yönetimi, risk yönetimi ve değişim yönetimi gibi iş uygulamaları hakkında bilgi; girişimcilik ve yenilik farkındalığı; sürdürülebilir kalkınma hakkında bilgi. | |||||||||||
11) Bilgisayar mühendisliği uygulamalarının sağlık, çevre ve güvenlik üzerindeki etkileri ve bilgisayar mühendisliğine yansıyan dönemin sorunları hakkında bilgi sahibi olma; bilgisayar mühendisliği çözümlerinin yasal sonuçları konusunda farkındalık. |
Etkisi Yok | 1 En Düşük | 2 Orta | 3 En Yüksek |
Dersin Program Kazanımlarına Etkisi | Katkı Payı | |
1) | Matematik, bilim ve bilgisayar mühendisliği prensipleri hakkında yeterli bilgiye sahip olma, hem teorik hem de pratik olarak, ve bu bilgiyi karmaşık mühendislik problemlerine uygulayabilme becerisi. | |
2) | Uygun analiz ve modelleme tekniklerini kullanarak karmaşık bilgisayar mühendisliği problemlerini tanımlama, formülleme ve çözebilme yeteneği. | |
3) | Belirli gereksinimleri karşılayan ve gerçekçi kısıtlar ve koşullar altında çalışan karmaşık bilgisayar sistemleri, cihazlar veya ürünler tasarlama ve geliştirme yeteneği, modern tasarım yöntemlerini kullanma yeteneği. | 2 |
4) | Karmaşık bilgisayar mühendisliği problemlerinin analizi ve çözümü için kullanılan modern teknikleri ve araçları geliştirme, seçme ve kullanabilme yeteneği, bilgi teknolojilerini etkili bir şekilde kullanabilme yeteneği. | 3 |
5) | Karmaşık bilgisayar mühendisliği problemleri veya araştırma konularının incelenmesinde deney planlama ve yürütme, veri toplama ve analiz etme, sonuçları yorumlama yeteneği. | |
6) | Çok disiplinli ekiplerde etkili bir şekilde çalışma yeteneği; bireysel çalışma becerileri. | |
7) | Sözlü ve yazılı iletişim becerileriyle etkili iletişim kurabilme; en az bir yabancı dil bilgisi; etkili raporlar yazabilme ve yazılı raporları anlayabilme, tasarım ve üretim raporları hazırlayabilme, etkili sunumlar yapabilme, açık ve anlaşılır talimatlar verip alabilme yeteneği. | |
8) | Yaşam boyu öğrenme gerekliliğinin farkında olma; bilgiye erişme yeteneği, bilim ve teknolojideki gelişmeleri takip etme ve sürekli yenileme yeteneği. | |
9) | Etik prensiplere, mesleki ve etik sorumluluğa uygun davranma; mühendislik uygulamalarında kullanılan standartlar hakkında bilgi sahibi olma. | |
10) | Proje yönetimi, risk yönetimi ve değişim yönetimi gibi iş uygulamaları hakkında bilgi; girişimcilik ve yenilik farkındalığı; sürdürülebilir kalkınma hakkında bilgi. | |
11) | Bilgisayar mühendisliği uygulamalarının sağlık, çevre ve güvenlik üzerindeki etkileri ve bilgisayar mühendisliğine yansıyan dönemin sorunları hakkında bilgi sahibi olma; bilgisayar mühendisliği çözümlerinin yasal sonuçları konusunda farkındalık. |
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ı | Aktiviteye Hazırlık | Aktivitede Harçanan Süre | Aktivite Gereksinimi İçin Süre | İş Yükü | ||
Ders Saati | 13 | 0 | 2 | 26 | |||
Laboratuvar | 13 | 0 | 2 | 26 | |||
Sınıf Dışı Ders Çalışması | 13 | 2 | 26 | ||||
Proje | 1 | 25 | 1 | 26 | |||
Ara Sınavlar | 1 | 10 | 2 | 12 | |||
Final | 1 | 10 | 2 | 12 | |||
Toplam İş Yükü | 128 |