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 (İngilizce)

Dersin Düzeyi

Lisans

Ders Koordinatörü

PROF. DR. RECEP ALP KUT

Dersi Alan Birimler

Bilgisayar Mühendisliği (İngilizce)

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 MapReduce programlama modeli temelleri ve uygulama geliştirme
8 MapReduce programlama modeli temelleri ve uygulama geliştirme
9 MapReduce programlama modeli temelleri ve uygulama geliştirme
10 Fonksiyonel programlama kavramı ve Scala programlama
11 Fonksiyonel programlama kavramı ve Scala programlama
12 Apache Spark ile dağıtık hesaplama
13 Apache Spark ile dağıtık hesaplama
14 Paralel Programlama Konuları Tekrarı

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 VZ Vize
2 PR Proje
3 FN Final
4 BNS BNS VZ * 0.25 + PR * 0.25 + FN * 0.50
5 BUT Bütünleme Notu
6 BBN Bütünleme Sonu Başarı Notu VZ * 0.25 + PR * 0.25 + BUT * 0.50


Değerlendirme Yöntemlerine İliskin Aciklamalar

Yok

Değerlendirme Kriteri

Vize, Final, Proje

Dersin Öğretim Dili

İngilizce

Derse İlişkin Politika ve Kurallar

Devam zorunluluğu vardır.

Dersin Öğretim Üyesi İletişim Bilgileri

Prof.Dr. Alp KUT
Bilgisayar Mühendisliği Bölümü
Dokuz Eylül Üniversitesi
Tınaztepe Yerleşkesi, Buca İzmir
Tel: +90-232-3017401

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

Pazartesi 13:00-15.00

Staj Durumu

YOK

İş Yükü Hesaplaması

Etkinlikler Sayısı Süresi (saat) Toplam İş Yükü (saat)
Ders Anlatımı 14 2 28
Uygulama 14 2 28
Haftalık Ders öncesi/sonrası hazırlıklar 14 2 28
Vize Sınavına Hazırlık 1 14 14
Final Sınavına Hazırlık 1 18 18
Proje Hazırlama 1 30 30
Vize Sınavı 1 2 2
Final Sınavı 1 2 2
TOPLAM İŞ YÜKÜ (saat) 150

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

PK/ÖKPK.1PK.2PK.3PK.4PK.5PK.6PK.7PK.8PK.9PK.10
ÖK.1532
ÖK.253432
ÖK.353432
ÖK.453432
ÖK.5432