Dersin Kodu | Dersin Adı | Dersin Türü | Yıl | Yarıyıl | AKTS |
---|---|---|---|---|---|
9105095072012 | Algorithm Design and Programming | Seçmeli Ders Grubu | 1 | 1 | 7,00 |
Yüksek Lisans
Türkçe
Bu ders, gerçek yaşam problemlerine çözüm tasarlamada kullanılabilecek temel algoritmaları, algoritma tasarım tekniklerini ve geliştirilen algoritmaların bilgisayar ortamında gerçeklenmesi için gerekli programlama bilgisini öğretir ve becerisini kazandırır. Bu dersin amacı, öğrencilerin (i) bir problem için derste tartışılan metodları kullanarak yeni algoritmalar tasarlayabilmesi (ii) bir algoritmayı bellek kullanımı ve çalışma süresi gibi çeşitli performans kriterlerine göre analiz edebilmesi (iii) çözülecek problem için en uygun algoritmayı seçebilmesi (iv) bir algoritmayı bilgisayar ortamında gerçekleştirebilmesi için bilgi ve yetenekler kazandırmaktır.
Hasan Bulut
1 | Algoritma analizi için gerekli matematiksel bilgileri kullanabilme |
2 | Algoritmaların uzamsal ve zamansal karmaşıklığını analiz edebilme |
3 | Algoritmaların uzamsal ve zamansal karmaşıklığını gözönüne alarak değişiklikler yapıp performası artırabilme |
4 | Algoritma tasarım tekniklerini kavrayabilme |
5 | Algoritma tasarım teknikleri kullanarak yeni problemler için algoritmalar tasarlayabilme |
6 | Algoritmaların tasarımında gerekli olan veri yapılarını kullanabilme |
7 | Seçilen programlama dili ile algoritmaların en etkin bir şekilde gerçekleyebilme |
Yok
Yok
Temel tanımlar. Veri yapıları. Programlama dili temelleri. Algoritma analizine giriş. Zaman ve Uzam karmaşıklığı. Standard algoritma tasarım teknikleri: Böl-ve-Çöz, Azalt-ve-Çöz vb. metodlar. Temel algoritmalar; sıralama ve arama algoritmaları, çizge algoritmaları.
Hafta | Konular (Teorik) | Öğretim Yöntem ve Teknikleri | Ön Hazırlık |
---|---|---|---|
1 | Algoritmalara Giriş • Temel Kavramlar: Algoritma Kavramı, Algoritma Tasarımı C Programlama Dili Temelleri • Değişkenler, Döngüler, Kontrol Yapıları | ||
2 | Fonksiyonlar ve Özyinelemeli Fonksiyonlar | ||
3 | Matematik Bilgisi: • Logaritma, Kombinatorik, Toplam Formülleri • Analiz Çerçevesi: O, Θ, Ω notasyonları • Matematiksel Analiz: Özyinemeli ve Özyinemelisiz Algoritmalar | ||
4 | Kaba Kuvvet Algoritmaları • Seçmeli sıralama, kabarcık sıralama • Ardışıl arama | ||
5 | Kaba Kuvvet Algoritmaları • En Yakın Çift ve Dışbükey Kabuk Problemleri • Kapsamlı Arama (Gezgin Satıcı, Sırt Çantası, vb) | ||
6 | C: Diziler, İşaretçiler | ||
7 | C: Yapılar, Birlikler, Bit Operatörleri, Dosya İşleme | ||
8 | Ara sınav | ||
9 | Azalt-ve-Çöz • Bir-ile-Azalt: Eklemeli Sıralama, DFS/BFS, Topolojik Sıralama | ||
10 | Azalt-ve-Çöz • Sabit Faktör-ile-Azalt, • Değişken Boyutlu Azalma | ||
11 | Böl-ve-Çöz • Birleştirmeli Sıralama, Hızlı Sıralama, İkili Arama | ||
12 | C: Devingen Veri Yapıları: Bağlı Listeler, Yığıtlar, Kuyruklar, Ağaçlar | ||
13 | C++ ve Nesneye Yönelik Programlamaya Giriş: • Sınıflar, nesneler | ||
14 | C++ ve Nesneye Yönelik Programlamaya Giriş: • Soyut veri tipleri • Operatör aşırı yükleme | ||
15 | C++ ve Nesneye Yönelik Programlamaya Giriş: • Kalıtım ve polimorfizm • Kural dışı durum işleme | ||
16 | Projects |
1. Introduction to Algorithms, Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein, The MIT Press; 3rd edition, 2009 ISBN-10: 0262033844 ISBN-13: 978-0262033848 2. C How to Program (6th Edition), Paul J. Deitel and Harvey M. Deitel, Prentice Hall; 6th edition (November 8, 2009), ISBN-10: 0136123562 ISBN-13: 978-0136123569 3. C++ How to Program (8th Edition), Paul J. Deitel and Harvey M. Deitel, Prentice Hall; 8th edition (March 25, 2011), ISBN-10: 0132662361 ISBN-13: 978-0132662369
Etkinlikler ayrıntılı olarak "Değerlendirme" ve "İş Yükü Hesaplaması" bölümlerinde verilmiştir.
Yarıyıl (Yıl) İçi Etkinlikleri | Adet | Değer |
---|---|---|
Ara Sınav | 1 | 100 |
Toplam | 100 | |
Yarıyıl (Yıl) Sonu Etkinlikleri | Adet | Değer |
Final Sınavı | 1 | 100 |
Toplam | 100 | |
Yarıyıl (Yıl) İçi Etkinlikleri | 40 | |
Yarıyıl (Yıl) Sonu Etkinlikleri | 60 |
Yok
Etkinlikler | Sayısı | Süresi (saat) | Toplam İş Yükü (saat) |
---|---|---|---|
Toplam İş Yükü (saat) | 0 |
PÇ 1 | PÇ 2 | PÇ 3 | PÇ 4 | PÇ 5 | PÇ 6 | PÇ 7 | |
ÖÇ 1 | |||||||
ÖÇ 2 | |||||||
ÖÇ 3 | |||||||
ÖÇ 4 | |||||||
ÖÇ 5 | |||||||
ÖÇ 6 | |||||||
ÖÇ 7 |