CENG019 Paralel and Distributed Computing

6 AKTS - 3-0 Süre (T+U)- . Yarıyıl- 3 Yerel Kredi

Genel Bilgi

Kod CENG019
Ad Paralel and Distributed Computing
Yarıyıl . Yarıyıl
Süre (T+U) 3-0 (T-U) (17 Hafta)
AKTS 6 AKTS
Yerel Kredi 3 Yerel Kredi
Eğitim Dil İngilizce
Seviye Yüksek Lisans Dersi
Tür Normal
Öğretim Şekli Yüz Yüze Öğretim
Bilgi Paketi Koordinatörü Dr. Öğr. Üyesi SERKAN KARTAL


Dersin Amacı

Paralel ve dağıtık hesaplamalar ile ilgili temel soruları anlayabilme ve bunlar için farklı çözümleri değerlendirebilme. Paralel ve dağıtık programlama paradigmalarını ve algoritmalarını anlama, bunları kullanarak çözümler uygulama ve test etme pratiği kazanma.

Dersin İçeriği

Bu ders paralel ve dağıtılmış hesaplamaları, paralel ve dağıtılmış mimarileri ve sistemleri, paralel ve dağıtılmış programlama paradigmalarını, paralel algoritmaları, paralel ve dağıtımlı hesaplamaların bilimsel ve diğer uygulamalarını içeren geniş bir konu yelpazesini kapsamaktadır.

Dersin Ön Koşulu

C proğramlama ve bilgisayar mimarisi hakkında temel bilgi sahibi olma.

Kaynaklar

An Introduction to Parallel Programming by Peter Pacheco

Notlar

Designing and Building Parallel Programs, by Ian Foster


Dersin Öğrenme Çıktıları

Sıra Dersin Öğrenme Çıktıları
ÖÇ01 dağıtılmış paralellik içeren programlar geliştirir, paralel hata ayıklama kullanır
ÖÇ02 paralel algoritmalar kurar, belirli bir algoritmada paralelliği tanımlar ve uygular
ÖÇ03 paralel algoritmaların verim, hız vb. özelliklerini analiz eder
ÖÇ04 Paralel algoritmaların performansını analiz eder


Program Öğrenme Çıktıları ile İlişkisi

Sıra Tür Program Öğrenme Çıktıları Duzey
PÖÇ01 Bilgi - Kuramsal, Olgusal Lisans düzeyinde kazanılan yetkinlikler temelinde Bilgisayar Mühendisliği temel alanında özgün çalışmalar için gerekli temeli sağlayan ileri düzeyde bilgi ve kavrayışa sahiptir. 3
PÖÇ02 Bilgi - Kuramsal, Olgusal Mühendislik alanında bilimsel araştırma yaparak bilgiye genişlemesine ve derinlemesine ulaşır, bilgiyi değerlendirir, yorumlar ve uygular. 2
PÖÇ03 Yetkinlikler - Öğrenme Yetkinliği Mesleğinin yeni ve gelişmekte olan uygulamalarının farkında olup, gerektiğinde bunları inceler ve öğrenir. 4
PÖÇ04 Yetkinlikler - Öğrenme Yetkinliği Mühendislik problemlerini kurgular, çözmek için yöntem geliştirir ve çözümlerde yenilikçi yöntemler uygular. 5
PÖÇ05 Yetkinlikler - Öğrenme Yetkinliği Analitik, modelleme ve deneysel esaslı araştırmaları tasarlar ve uygular, bu süreçte karşılaşılan karmaşık durumları çözümler ve yorumlar. 4
PÖÇ06 Yetkinlikler - Öğrenme Yetkinliği Yeni ve/veya özgün fikir ve yöntemler geliştirir, sistem, parça veya süreç tasarımlarında yenilikçi çözümler geliştirir.
PÖÇ07 Beceriler - Bilişsel, Uygulamalı Öğrenme becerilerine sahip olur.
PÖÇ08 Beceriler - Bilişsel, Uygulamalı Bilgisayar Mühendisliğinin yeni ve gelişmekte olan uygulamalarının farkında olup gerektiğinde bunları inceler ve öğrenir. 2
PÖÇ09 Beceriler - Bilişsel, Uygulamalı Çalışmalarının süreç ve sonuçlarını Bilgisayar Mühendisliği alanındaki veya alan dışındaki ulusal ve uluslararası ortamlarda açık bir şekilde yazılı veya sözlü olarak aktarır.
PÖÇ10 Beceriler - Bilişsel, Uygulamalı Bilgisayar Mühendisliğinde uygulanan güncel teknik ve yöntemler ile bunların kısıtları hakkında kapsamlı bilgiye sahip olur. 3
PÖÇ11 Beceriler - Bilişsel, Uygulamalı Bilgisayar Mühendisliğinin gerektirdiği düzeyde bilgisayar yazılımı ile birlikte bilişim ve iletişim teknolojilerini ileri düzeyde etkileşimli olarak kullanır.
PÖÇ12 Bilgi - Kuramsal, Olgusal Mesleki tüm etkinliklerde toplumsal, bilimsel ve etik değerleri gözetir.


Haftalık Akış

Hafta Konu Ön Hazırlık Yöntemler
1 Giriş, Paralel ve Dağıtık Hesaplama Ders notunun ilgili bölümünü okumak Öğretim Yöntemleri:
Anlatım
2 Paralel ve Dağıtık Mimariler, Soket programlama Ders notunun ilgili bölümünü okumak Öğretim Yöntemleri:
Anlatım
3 Paralel Performans, Paylaşılan Bellek ve İplikler Ders notunun ilgili bölümünü okumak Öğretim Yöntemleri:
Anlatım
4 Paralel Algoritmalar Ders notunun ilgili bölümünü okumak Öğretim Yöntemleri:
Anlatım
5 Paralel Algoritmalar, OpenMP Ders notunun ilgili bölümünü okumak Öğretim Yöntemleri:
Anlatım
6 Ölçeklenebilir Algoritmalar, Mesaj Geçişi Ders notunun ilgili bölümünü okumak Öğretim Yöntemleri:
Anlatım
7 MPI ve Teragrid Ders notunun ilgili bölümünü okumak Öğretim Yöntemleri:
Anlatım
8 Ara Sınav Ders notları ve uygulamalara çalışmak Ölçme Yöntemleri:
Yazılı Sınav
9 Dağıtık Sistemler, MapReduce, Kümeler Ders notunun ilgili bölümünü okumak Öğretim Yöntemleri:
Anlatım
10 Dağıtık Koordinasyon, Güvenlik Ders notunun ilgili bölümünü okumak Öğretim Yöntemleri:
Anlatım
11 Dağıtık Dosya Sistemleri Ders notunun ilgili bölümünü okumak Öğretim Yöntemleri:
Anlatım
12 Dağıtık Dosya Sistemleri, Güvenlik Ders notunun ilgili bölümünü okumak Öğretim Yöntemleri:
Anlatım
13 Dağıtılmış Paylaşılan Bellek Ders notunun ilgili bölümünü okumak Öğretim Yöntemleri:
Anlatım
14 Bulut Bilişim ve Proje Sunumları Ders notunun ilgili bölümünü okumak Öğretim Yöntemleri:
Anlatım
15 Proje Sunumları Sunum Hazırlama Öğretim Yöntemleri:
Anlatım
16 Yarıyıl Sonu Sınavları Ders notları ve uygulamalara çalışmak Ölçme Yöntemleri:
Yazılı Sınav
17 Yarıyıl Sonu Sınavları Ders notları ve uygulamalara çalışmak Ö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 5 70
Değerlendirmeler ile İlgili Çalışmalar
Ödev, Proje, Diğer 0 0 0
Ara Sınavlar (Yazılı, Sözlü, vs.) 1 15 15
Yarıyıl/Yıl Sonu/Final Sınavı 1 30 30
Toplam İş Yükü (Saat) 157
Toplam İş Yükü / 25 (s) 6,28
AKTS 6 AKTS