Programlama dillerinde algoritma uygulamanın yanı sıra temel algoritma teknikleri ve analizi geliştirebilecek yeterliliği kazanması.İlaveten,NP-karmaşıklık gibi hesaplama sınırları bilgisine,rastgele ve tahmin teknikleriyle gündelik algoritmaların üstesinden gelebilecek bilgiye sahip olması.
Ön Koşullar
-
Eş Koşullar
-
Özel Koşullar
Matematiksel düşünme ve programlama becerisi
Öğretim Üyeleri
Dr. Yusuf Altunel
Asistanlar
-
Ders Gün,Saat ve Yeri
Bu ders bu dönem açılmamıştır.
Görüşme Saatleri ve Yeri
Bu ders bu dönem açılmamıştır.
Öğretim Yöntem ve Teknikleri
Sınavlar ve quizler dahil 42 saat ders işlenecek.
14 saat görüşme ve danışma.
Temel Kaynaklar
Text Book
Introduction to the Design and Analysis of Algorithms 3e, Anany Levitin, Addison-Wesley, 2012, 592 pp. ISBN-10: 0132316811, ISBN-13: 9780132316811.
Lab Book
Data Structures and Algorithms in Python, Michael T. Goodrich, Roberto Tamassia, Michael H. Goldwasser, Wiley, 2013.
Diğer Kaynaklar
Other Resources
Python Data Structures and Algorithms, Benjamin Baka, Packt Publishing, 2017.
Annotated Algorithms in Python with Applications in Pyhsics, Biology, and Finance, 2e, Massimo Di Pierro, 2013.
Python Algorithms Mastering Basic Algorithms in the Python Language, Magnus Lie Hetland, Apress, 2010
Python and Algorithms, Mari Wahl, University of New York at Stony Brook, 2013.
An Introduction to Analysis of Algorithms, 2e, Michael Soltys, World Scientific Publishing Co. Pte. Ltd. 2012.
Algorithms 4e, Robert Sedgewick and Kevin Wayne, Princeton University, 2011
Haftalık Ders Programı
Hafta
Dersin İçeriği
Öğretim Yöntem ve Teknikleri
1. Hafta
Giriş: Algoritma Nedir? Algoritmic Problem Çözme Yöntemi, Problem Türleri, Temel Veri Yapıları
Ders ve Örnekler
2. Hafta
Algoritma Analizi ve Etkinliğinin Temelleri: Analiz Altyapısı, Asymptotic Notasyon, Temel Etkinlik Sınıfları, İteratif ve Recursive Algoritmaların Matematiksel Analizi, Empirik Yöntem
Ders ve Örnekler
3. Hafta
Brute-Force Algoritmalar: Selection Sort, String Matching, En Yakın Çift, Convex Hull, Arama, Derinlik Öncelikli/Seviye Öncelikli Aramalar
Ders ve Örnekler
4. Hafta
İndirgeme (Decrease and Conquer) Algoritmaları: Insertion Sort, Topolojik Sıralama, Kombinasyon İşlemleri, Belirli Oranda İndirgeme, Değişken Büyüklükte İndirgeme
Ders ve Örnekler
5. Hafta
Bölerek İndirgeme (Divide and Conquer) Algoritmaları:
Ders ve Örnekler
6. Hafta
Dönüştürerek İndirgeme (Transform and Conquer) Algoritmaları:
Ders ve Örnekler
7. Hafta
Alan ve Zaman Kısıtları:
Ders ve Örnekler
8. Hafta
Ara Sınav Haftası
9. Hafta
Dinamik Teknikler:
Ders ve Örnekler
10. Hafta
Dinamik Teknikler:
Ders ve Örnekler
11. Hafta
Tamahkar (Greedy) Teknikler:
Ders ve Örnekler
12. Hafta
Iteratif İyileştirme:
Ders ve Örnekler
13. Hafta
Algoritmanın Gücünün Sınırları:
Ders ve Örnekler
14. Hafta
Algoritmanın Gücünün Sınırları ile Başetme:
Ders ve Örnekler
15. Hafta
Final Haftası
16. Hafta
17. Hafta
Değerlendirme Ölçütleri
Ölçüt Tipleri
Adet
Yüzdesi(%)
Ara sınav(lar)
1
30
Projeler
1
30
Final
1
40
ÖÇ-1
Dizayn Teknikleri : Böl-Yönet, Algoritma ve Dinamik Programlama
ÖÇ-2
Karmaşıklık Ölçümü : Zaman, Uzay, Üst ve Alt Sınırlar, Asimptotik Karmaşıklık, NP-Bütünlük.
ÖÇ-3
Veri Yapısı Hususu, Sıralama ve Arama Algoritmaları, Karakter Dizisi Arama Algoritmaları, Graf Algoritmaları
ÖÇ-4
Rastgele Algoritmalardan Özel Başlıklar, Algoritma Yaklaşımı ve Kriptoloji
Program Çıktıları
PÇ-1
Matematik, fen bilimleri ve ilgili mühendislik disiplinine özgü konularda yeterli bilgi birikimi; bu alanlardaki kuramsal ve uygulamalı bilgileri, karmaşık mühendislik problemlerinde kullanabilme becerisi.
PÇ-2
Karmaşık mühendislik problemlerini saptama, tanımlama, formüle etme ve çözme becerisi; bu amaçla uygun analiz ve modelleme yöntemlerini seçme ve uygulama becerisi.
PÇ-3
Karmaşık bir sistemi, süreci, cihazı veya ürünü gerçekçi kısıtlar ve koşullar altında, belirli gereksinimleri karşılayacak şekilde tasarlama becerisi; bu amaçla modern tasarım yöntemlerini uygulama becerisi.
PÇ-4
Mühendislik uygulamalarında karşılaşılan karmaşık problemlerin analizi ve çözümü için gerekli olan modern teknik ve araçları geliştirme, seçme ve kullanma becerisi; bilişim teknolojilerini etkin bir şekilde kullanma becerisi.
PÇ-5
Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi için deney tasarlama, deney yapma, veri toplama, sonuçları analiz etme veyorumlama becerisi.
PÇ-6
Disiplin içi ve çok disiplinli takımlarda etkin biçimde çalışabilme becerisi; bireysel çalışma becerisi.
PÇ-7
Sözlü ve yazılı etkin iletişim kurma becerisi; en az bir yabancı dil bilgisi; etkin rapor yazma ve yazılı raporları anlama, tasarım ve üretim raporları hazırlayabilme, etkin sunum yapabilme, açık ve anlaşılır talimat verme ve alma becerisi.
PÇ-8
Yaşam boyu öğrenmenin gerekliliği bilinci; bilgiye erişebilme, bilim ve teknolojideki
gelişmeleri izleme ve kendini sürekli yenileme becerisi.
PÇ-9
Etik ilkelerine uygun davranma, mesleki ve etik sorumluluk bilinci; mühendislik uygulamalarında kullanılan standartlar hakkında bilgi.
PÇ-10
Proje yönetimi, risk yönetimi ve değişiklik yönetimi gibi, iş hayatındaki uygulamalar hakkında bilgi; girişimcilik, yenilikçilik hakkında farkındalık; sürdürülebilir kalkınma hakkında bilgi.
PÇ-11
Mühendislik uygulamalarının evrensel ve toplumsal boyutlarda sağlık, çevre ve güvenlik üzerindeki etkileri ve çağın mühendislik alanına yansıyan sorunları hakkında bilgi;mühendislik çözümlerinin hukuksal sonuçları konusunda farkındalık.