CE 390 | Ders Tanıtım Bilgileri

Dersin Adı
Algoritma Analizi
Kodu
Yarıyıl
Teori
(saat/hafta)
Uygulama/Lab
(saat/hafta)
Yerel Kredi
AKTS
CE 390
Güz/Bahar
3
0
3
5

Ön Koşul(lar)
Yok
Dersin Dili
İngilizce
Dersin Türü
Seçmeli
Dersin Seviyesi
Lisans
Dersin Koordinatörü -
Öğretim Eleman(lar)ı -
Yardımcı(lar)ı -
Dersin Amacı Dersin amacı gerçek hayat problemlerinden hareketle, farklı alanlarda kullanılabilecek algoritmaların sunulmasıdır. Öğrenciler, bu derste, hesaplama ve optimizasyon uygulamalarında karşılacakları farklı tasarım ve analiz teknikleri öğreneceklerdir. Açgözlü algoritmalar, bölveyönet tarzı algoritmalar ve dinamik programlama, farklı örnek uygulamalar üzerinden anlatılacaktır. Yakınlaşık algoritmalar da özellikle yük dengeleme ve küme kaplama problemlerine vurgu yapılarak açıklanacaktır.
Öğrenme Çıktıları Bu dersi başarıyla tamamlayabilen öğrenciler;
  • Bir problemin kendine has özelliklerini nasıl izole edip başa çıkılabilir kılacaklarını öğrenecektir.
  • Algoritmaların zaman ve hafıza karmaşıklıklarını analiz edebilecektir.
  • Algoritma portföylerinde, çok daha farklı problemleri çözmelerini sağlayacak çok daha fazla algoritmik çözüme sahip olacaktır.
  • Doğrudan veya bir dizi transformasyon ile aralık takvimleme, aralık bölümleme, gecikmeyi en aza indirmek için takvimleme, kümeleme ve en düşük maliyetli ağaçlık problemlerinin örnekleri olarak modellenebilen problemleri açgözlü algoritmalarla verimli olarak çözecektir.
  • Bir problemin böl-ve-yönet bir algoritmayla çözülüp çözülemeyeceğini anlayacak ve sırasız çiftleri sayma, verilen noktalar içinde birbirine en yakın olanları bulma ve tamsayıları çarpma problemlerini veya bunlara azaltılabilenleri verimli biçimde çözebilecek ve hızlı Fourier transformasyonunu verimli algoritmalar geliştirmek için kullanacaktır.
  • Ağırlıklı aralık bölümleme ve sekans hizalama problemlerine nasıl dinamik program çözümleri bulabileceğini öğrenecek ve bu bilgiyi genelleyebilerek başka problemeler çözecektir.
  • Harcanan zaman ve çözümün optimalliği arasında değerlendirme yaparak, en optimali bulmak mümkün değilse, yaklaşık algoritmalar kullanma kararı verecek ve kendisine yük dengeleme ve küme kaplama problemlerinin polinom zamanlı olarak azaltılabileceği benzer problemleri ayırdedebilecektir. Öğrenciler yük dengeleme ve küme kaplama problemleri için elde edilen yaklaşıklık limitlerini mümkün olduğunda benzer polinom olmayan problemlerin çözümlerinde kullanılacaktır.
Tanımı Açgözlü algoritmalar, bölveyönet tarzı algoritmalar, dinamik programlama ve yakınlaşık algoritmalar.

 



Ders Kategorisi

Temel Meslek Dersleri
Uzmanlık/Alan Dersleri
X
Destek Dersleri
İletişim ve Yönetim Becerileri Dersleri
Aktarılabilir Beceri Dersleri

 

HAFTALIK KONULAR VE İLGİLİ ÖN HAZIRLIK ÇALIŞMALARI

Hafta Konular Ön Hazırlık
1 Tanıtım ve motivasyon. Matematik temeller, toplamalar, özyinelemeler, ve fonksiyonların artışı Cormen Chapter 2, 3, and 4
2 Asimtotik notasyon ve Master teoremi Cormen Chapter 4
3 İkili heapler ve heapsortun analizi Cormen Chapter 6
4 Sıralama teorisi ve diğer karşılaştırma tabanlı sıralama algorithmaları: Merge sort ve quicksortun analizi Cormen Chapter 7
5 Quicksort algorithmasının en kötü çalışma senaryosu analizi Cormen Chapter 7
6 Doğrusal zamanda sıralama, sıralama için altsınırlar, counting sort, radix sort bucket sort Cormen Chapter 8
7 Ortanca ve sıra istatistikleri. Ortanca değer ve sıranın doğrusal zamanda bulunması ve selection algorithması Cormen Chapter 9
8 Arasınav
9 Temel veri yapıları ve ekleme, silme ve güncellemenin çalışma zamanı analizleri Cormen Chapter 10
10 Hash tabloları ve çalışma zamanı analizleri Cormen Chapter 11
11 İkili arama ağaçları ve redblack ağaçları Cormen Chapter 12 and 13
12 Btree ve veri yapılarına ilaveler yapmak Cormen Chapter 18
13 Ortalama çalışma zamanı analizi Cormen Chapter 17
14 Binomial heapler ve fibonazzi heapler Cormen Chapter 19 and 20
15 Genel tekrar
16 Dönemin gözden geçirilmesi  

 

Dersin Kitabı Introduction to Algorithms, 2/eThomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein, ISBN: 9780262533058, MIT PressData Structures and Algorithm Analysis in C++, Mark Allen Weiss, Addision Wesley, Third Edition.
Diğer Kaynaklar Algorithm Design. Jon Kleinberg and Eva Tardos. 2006, Pearson Education, ISBN 0321372913

 

DEĞERLENDİRME ÖLÇÜTLERİ

Yarıyıl İçi Çalışmaları Sayı Katkı Payı %
Derse Katılım
Laboratuvar / Uygulama
Arazi Çalışması
Küçük Sınavlar / Stüdyo Kritiği
Ödev
Sunum / Jüri Önünde Sunum
Proje
6
30
Çalıştay
Portfolyo
Ara Sınav / Sözlü Sınav
1
30
Final Sınavı / Sözlü Sınav
1
40
Toplam

Yarıyıl İçi Çalışmalarının Başarı Notuna Katkısı
60
Yarıyıl Sonu Çalışmalarının Başarı Notuna Katkısı
40
Toplam

AKTS / İŞ YÜKÜ TABLOSU

Aktiviteler Sayı Süresi (Saat) İş Yükü
Teorik Ders Saati
(Sınav haftası dahildir: 16 x toplam ders saati)
16
3
48
Laboratuvar / Uygulama Ders Saati
Sınav haftası dahil değildir. 16 x uygulama/lab ders saati
16
Sınıf Dışı Ders Çalışması
15
4
Arazi Çalışması
Küçük Sınavlar / Stüdyo Kritiği
Ödev
Sunum / Jüri Önünde Sunum
Proje
6
2
Çalıştay
Portfolyo
Ara Sınavlar / Sözlü Sınavlar
1
10
Final / Sözlü Sınav
1
20
    Toplam
150

 

DERSİN ÖĞRENME ÇIKTILARININ PROGRAM YETERLİLİKLERİ İLE İLİŞKİSİ

#
Program Yeterlilikleri / Çıktıları
* Katkı Düzeyi
1
2
3
4
5
1 Benzetim, eniyileme, olasılık ve istatistik gibi Endüstri Mühendisliği kavram ve tekniklerini üretim ve hizmet sistemlerinde kullanarak yönetimsel karar verme işlemlerini iyileştirmek, kalite bilincini oluşturmak, elde edilen verileri yorumlayabilmek ve değerlendirebilmek X
2 Bütünleşik işleri veya iş sistemlerini ihtiyaçları doğrultusunda çeşitli alternatifler üreterek ve değerlendirerek sistem bakış açısı ile tasarlayabilmek X
3 Endüstri Mühendisliği ile ilgili uygulamada karşılaşılan konuları/sorunları tanımlayabilmek, analiz edebilmek, kanıtlara ve araştırmalara dayalı çözüm önerileri geliştirebilmek X
4 Nicel analiz ve eleştirel düşünce yöntemlerini kullanarak kaynak aktarımı, üretim planlaması ve çizelgelemesi, kalite kontrol ve güvence, finansal analiz ve risk analizi vb. Endüstri Mühendisliği ile ilgili konularda sorunları belirleyebilmek; bu sorunlar için alternatif çözümler üretebilmek ve alternatif çözümler içinden sistem gereksinimlerine cevap verecek en iyi çözümleri bulmak X
5 Uygulamada karşılaşılan ve öngörülemeyen karmaşık sorunları çözmek için bireysel ve grup üyesi olarak sorumluluk alabilmek, sorumluluğu altında çalışanların veya grup çalışanlarının mesleki gelişimine yönelik etkinlikleri planlayabilmek ve yönetebilmek X
6 Endüstri Mühendisliği alanında edindiği bilgi ve becerileri eleştirel bir yaklaşımla değerlendirebilmek, öğrenme gereksinimlerini belirleyebilmek ve öğrenmesini yönlendirebilmek
7 Endüstri Mühendisliği ile ilgili konularda ilgili kişi ve kurumları bilgilendirebilmek; düşüncelerini ve sorunlara ilişkin çözüm önerilerini yazılı ve sözlü olarak aktarabilmek ve nicel ve nitel verilerle destekleyerek uzman olan ve olmayan kişilerle paylaşabilmek
8 Bir yabancı dili kullanarak Endüstri Mühendisliği ilgili bilgileri izleyebilmek ve meslektaşları ile iletişim kurabilmek (“European Language Portfolio Global Scale”, Level B1) X
9 Endüstri Mühendisliği ile ilgili bilgisayar yazılımlarını kullanabilmek ve uygulamada karşılaşacağı bilişim ve iletişim teknolojilerini kullanabilecek bilgi ve beceriye sahip olmak (“European Computer Driving License”, Advanced Level) X
10 Sosyal hakların evrenselliğine değer veren, sosyal adalet bilinci kazanmış, kalite yönetimi ve süreçleri ile çevre koruma ve iş güvenliği konularında yeterli bilince sahip olmak
11 Endüstri Mühendisliği ile ilgili verilerin toplanması, yorumlanması, duyurulması ve uygulanması aşamalarında toplumsal, bilimsel ve etik değerlere sahip olmak X

*1 Lowest, 2 Low, 3 Average, 4 High, 5 Highest