DERS ADI

: PARALEL PROGRAMLAMA

Ders Bilgileri

Ders Kodu Ders Adı Ders Türü D U L AKTS
CME 4405 PARALEL PROGRAMLAMA SEÇMELİ 2 2 0 6

Dersi Veren Birim

Bilgisayar Mühendisliği

Dersin Düzeyi

Lisans

Ders Koordinatörü

ŞERİFE YILMAZ

Dersi Alan Birimler

Bilgisayar Mühendisliği

Dersin Amacı

Bu dersin amacı öğrencilere paralel program tasarımı ile paralel bilgisayar mimarileri temellerini aktarmaktır. Bu ders sonunda öğrenciler paralel düşünmeyi; paylaşımlı bellek ve dağıtık bellek sistemlerindeki paralel mimariler için basit algoritmalar tasarlayarak MPI ve OpenMP ile paralel program yazmayı; grafik işlemci birimi mimarisi üzerinde , CUDA ile programlama yapmayı; büyük veri özelliklerini ve Apache Hadoop ekosistemini;MapReduce programlama modelini kullanarak uygulama geliştirmeyi; fonksiyonel programlama dili olan Scala yı kullanmayı ve Apache Spark ile dağıtık hesaplamayı öğreneceklerdir.

Dersin Öğrenme Kazanımları

1   Parallel mimarileri anlamak
2   Paylaşımlı ve dağıtık bellek mimarileri için MPI ve OpenMP ile programlama
3   Grafik işlemci birimi (GPU) mimarisi üzerinde CUDA ile programlama
4   Küme sistem üzerinde Hadoop platformu içerisinde MapReduce modeli ile programlama
5   Küme sistemde dağıtılan büyük veride Scala ve Spark kullanabilme

Dersin Öğretim Türü

Örgün Öğretim

Dersin Önkoşulu/Önkoşulları

CME 2201 - VERİ YAPILARI

Ders İçin Önerilen Diğer Hususlar

Yok

Ders İçeriği

Hafta Konular Açıklama
1 Temel bilgisayar mimarisi
2 Paralel programlamanın temelleri
3 Dağıtık ve paylaşımlı bellekli parallel mimariler ve MPI-OpenMP programlama
4 Grafik işlemci birimi mimarisi ve CUDA programlama
5 Büyük veri tanımı, özellikleri, örnek uygulamaları
6 Apache Hadoop ekosistemi içerisindeki sistemler
7 Vize Sınavı
8 MapReduce programlama modeli temelleri ve uygulama geliştirme
9 MapReduce programlama modeli temelleri ve uygulama geliştirme
10 MapReduce programlama modeli temelleri ve uygulama geliştirme
11 Fonksiyonel programlama kavramı ve Scala programlama
12 Fonksiyonel programlama kavramı ve Scala programlama
13 Apache Spark ile dağıtık hesaplama
14 Apache Spark ile dağıtık hesaplama

Ders İçin Önerilen Kaynaklar

Pacheco, Peter S., An introduction to parallel programming, Morgan Kaufmann Publishers for Elsevier, 2011
Tom White, Hadoop The Definitive Guide (3rd edition), O Reilly, 2012

Öğrenme ve Öğretme Yöntemleri

Sunum, konferans, uygulama, programlama egzersizleri ve paratikler, programlama ödevleri

Değerlendirme Yöntemleri

SIRA NO KISA KOD UZUN ADI FORMUL
1 ODV Proje/Ödev
2 FN Final
3 BNS BNS ODV * 0.50 + FN * 0.50
4 BUT Bütünleme Notu
5 BBN Bütünleme Sonu Başarı Notu ODV * 0.50 + BUT * 0.50


*** Bütünleme Sınavı Yapılmayan Birimlerde Bütünleme Kriteri Dikkate Alınmaz.

Değerlendirme Yöntemlerine İliskin Aciklamalar

Yok

Değerlendirme Kriteri

İlan Edilecektir.

Dersin Öğretim Dili

İngilizce

Derse İlişkin Politika ve Kurallar

İlan Edilecektir.

Dersin Öğretim Üyesi İletişim Bilgileri

Bilgisayar Mühendisliği Bölümü, Oda No:125
Dokuz Eylül Üniversitesi
Tınaztepe Yerleşkesi, Buca İzmir
Tel: +90-232-3017424
Fax: +90-232-3017401

Ders Öğretim Üyesi Görüşme Gün ve Saatleri

Pazartesi 13:00-16.00

Staj Durumu

YOK

İş Yükü Hesaplaması

Etkinlikler Sayısı Süresi (saat) Toplam İş Yükü (saat)
Ders Anlatımı 12 2 24
Uygulama 12 2 24
Haftalık Ders öncesi/sonrası hazırlıklar 12 2 24
Vize Sınavına Hazırlık 1 16 16
Final Sınavına Hazırlık 1 16 16
Ödev Hazırlama 3 16 48
Vize Sınavı 1 2 2
Final Sınavı 1 2 2
TOPLAM İŞ YÜKÜ (saat) 156

Program ve Öğrenme Kazanımları İlişkisi

PK/ÖKPK.1PK.2PK.3PK.4PK.5PK.6PK.7PK.8PK.9PK.10
ÖK.15352
ÖK.253532
ÖK.35352
ÖK.45352
ÖK.55352