>
Dersin Adı Dersin Kodu Dersin Türü Dersin Düzeyi Dersin Yılı Dersin Verildiği Dönem AKTS Kredisi
Algoritmaların Tasarım ve Analizi BLM591 Seçmeli Yüksek lisans 1 Güz 8

Öğretim Elemanı Adı

Prof. Dr. Nevcihan DURU
Prof. Dr. Ahmet SAYAR
Doç. Dr. Alev MUTLU

Dersin Öğrenme Kazanımları

1) Algoritma tasarimindaki ilkeleri belirtir
2) Bilgisayar programlama uygulamalarinda veri ve veri yapilarini temsil eden en iyi alternatifleri secmek icin gerekli olan strateji ve kriterleri belirler-tanimlar
3) Bazi cok bilinen algoritmalari uygular
4) Algoritmalarin performansinin analiz eder
5) Belirli problemler icin uygun cozumu veren algoritma tasarim stratejilerini tanimlar
6) Ayni problem icin farkli algoritmalarin etkinligini analiz eder ve kompleksliklerine gore siniflandirir
7) Algoritmalarin tasarimlari, guncel uygulamalari ve son gelismeleri aciklar

Program Yeterliliği İlişkisi

  Program Yeterlilikleri
1 2 3 4 5 6 7 8 9 10 11
Öğrenme Kazanımları
1     Düşük Orta   Düşük     Düşük    
2     Düşük Orta   Düşük   Düşük Orta    
3       Orta   Yüksek   Düşük      
4     Orta Düşük   Orta     Düşük    
5                      
6     Düşük Düşük   Orta Düşük        
7           Orta Orta   Düşük    

Eğitim Şekli

Yüz Yüze

Ön Koşullar, Diğer Koşullar

Yok

Önerilen Destekleyici Dersler

Lisans seviyesinde Veri Yapilari dersi.

Dersin İçeriği

Bu ders genel olarak, bir algoritma nasıl geliştirilir, dogruluğu nasıl ispat edilir, performansı nasıl ölçülür, ve performansının nasıl geliştirilebileceğini belirleme tekniklerini inceler. Bu ders algoritma analiz ve tasarım tekniklerini, bilgisayar bilimleri ve mühendisliğinin birçok alanlarından gelen problemler üzerinde inceler. Bu teknikler, böl-ve-parçala, dinamik programlama, greedy algoritmaları, rastgeleleştirme, aşınmış analizler, ve indirgeme konularını içerir. Bu tekniklerin uygulamaları ise, sıralama, düzenleme ve arama, grafik algoritmalar, geometrik algoritmalar, matematik algoritmalar, ve sözdizim eşleştirme algoritmaları seklinde özetlenebilir.

Haftalık Ders İzlencesi

1) Algoritmalarin tasarim ve analizine giris
2) Veri Yapilari: Stacks, queues, linked lists
3) Veri Yapilari: trees, binary search trees, heaps, graphs
4) Algoritmalarin karmasiklik analizlerinin temelleri
5) Divide and Conquer metodu: mergesort, quicksort, quickselect
6) Divide and Conquer Metodu 2
7) Greedy Metodu
8) Ara sınav/Değerlendirme
9) Dinamik Programlama: Genel teknik
10) Dynamik Programlama: matrix zincir problemi, tum-cift enkisa yol problemi
11) Arama algoritmalarin uygulanmasi
12) Siralama Algoritmalarin uygulanmasi
13) Grafik yurume teknikleri: Agac yurume ve uygulamalari
14) NP-completeness problemlerinin tanitimi
15) Algoritma tasarimi konusunda guncel uygulamalar ve gelismeler
16) Yarıyıl sonu sınavı

Önerilen/İstenen Ders Kaynakları

Planlanan Öğrenim Faaliyetleri Ve Eğitim Yöntemi

1) Anlatım
2) Tartışma
3) Gösteri
4) Grup Çalışması
5) Problem Çözme


Değerlendirme Yöntemi ve Ölçütleri

Yarıyıl İçi Çalışmalarının Başarıya Oranı

50%

 

Sayı

Yüzde

Yarıyıl İçi Çalışmaları

Ara Sınav

1

60%

Proje

1

40%

 

Yarıyıl Sonu Sınavının Başarıya Oranı

50%

Toplam

100%

Dersin Eğitim Dili

Türkçe

Mesleki Uygulama

İstenmemekte