AKTS - Algoritmalar

Algoritmalar (MCS401) Ders Detayları

Ders Adı Ders Kodu Dönemi Saati Uygulama Saati Laboratuar Hours Kredi AKTS
Algoritmalar MCS401 Seçmeli Dersler 2 2 0 3 6
Ön Koşul Ders(ler)i
N/A
Dersin Dili İngilizce
Dersin Türü Seçmeli Dersler
Dersin Seviyesi Lisans
Ders Verilme Şekli Yüz Yüze
Dersin Öğrenme ve Öğretme Teknikleri Anlatım, Soru Yanıt, Uygulama-Alıştırma, Takım/Grup Çalışması.
Dersin Koordinatörü
Dersin Öğretmen(ler)i
Dersin Asistan(lar)ı
Dersin Amacı Dersin amacı temel olarak algoritmaların hesaplamada önemini vurgulamaktır. Çeşitli algoritmalar va algoritma tasarım tekniklerinin yanında algoritmaların karmaşıklık hesaplamasına yönelik donanım kazandırma amaçlanmaktadır. Varolan temel algoritmaların gösterilmesi bu algoritmaların öğrenilmesinin yanında yeni algoritmalar geliştirilebilmesi için gerekli olan temel becerilerin kazandırılmasına yöneliktir.
Dersin Eğitim Çıktıları Bu dersi başarıyla tamamlayabilen öğrenciler;
  • temel arama ve sıralama algoritmaları hakkında bilgi edinir.
  • verilen bir algoritmanın karmaşıklık hesaplamasını yapar.
  • gerekli durumlarda özyineleme yaklaşımının uygular.
  • böl ve fethet algoritmaları, dinamik programlama, açgözlü algoritmalar ve çizge algoritmaları hakkında temel bilgileri edinir.
Dersin İçeriği Algoritma Analiz ve Tasarımı, O,o,ω,Ω,Θ Asimptotik Notasyonları, Asimptotik Alt ve Üst Sınırlar, Böl ve Fethet Algoritmaları, Özyineleme, Dinamik Programlama, Açgözlü Algoritmalar ve Çizge Algoritmaları Temel Arama ve Sıralama Algoritmalarının Karmaşıklıkları, Temel Çizge Algoritmaları, NP-Tam Karmaşıklık Sınıfı.

Haftalık Konular ve İlgili Ön Hazırlık Çalışmaları

Hafta Konular Ön Hazırlık
1 Algoritma Analiz ve Tasarımı Temelleri s. 5-14
2 Asimptotik Notasyonlar O,o,ω,Ω,Θ s. 41-56
3 Algoritma Çalışma Zamanları ve İspatları s. 15-27
4 Böl ve Fethet Algoritmaları s. 28-33
5 Özyinelemeler s. 63-76
6 Sıralama, Yerleştirme Sıralaması, Hızlı Sıralama s. 145-163
7 Birleştirme Sıralaması, Baloncuk Sıralaması, Doğrusal Sıralama Algoritmaları: Sayma Sıralaması ve Taban Sıralaması s. 165-174
8 Dinamik Programlama, Matrislerde Çarpma Önceliği s. 331-348
9 En Uzun Ortak Altdizi, Doğrusal Arama ve Ikiyollu Arama s. 350-356
10 Çizge Algoritmaları, En Kısa Yol Algoritmaları s. 595-607
11 Derinlik Öncelikli ve Yataylık Öncelikli Arama Algoritmaları s. 527-549
12 Açgözlü Yaklaşım, Kruskal Algoritması s. 562-577
13 P, NP Ve NP-Tam Karmaşıklık Sınıfları s. 966-995
14 Temel Kriptografik Algoritmalar: RSA, Konu Tekrarı s. 881-896
15 Genel Tekrar
16 Genel Sınav

Kaynaklar

Ders Kitabı 1. Introduction to Algorithms (Second Edition), Thomas Cormen, Charles Leiserson, Ronald Rivest and Clifford Stein, MIT Press, 2001
Diğer Kaynaklar 2. Algorithms in C++, 3rd Edition, Part 1-4, Robert Sedgewick, Addison Wesley, 1998, ISBN, 0-201-35088-2.
3. Foundations of Algorithms Using C++ Pseudocode, 3rd Edition, Jones And Bartlett Publishers 2004.

Değerlendirme System

Çalışmalar Sayı Katkı Payı
Devam/Katılım - -
Laboratuar - -
Uygulama - -
Alan Çalışması - -
Derse Özgü Staj - -
Küçük Sınavlar/Stüdyo Kritiği - -
Ödevler 5 10
Sunum - -
Projeler - -
Rapor - -
Seminer - -
Ara Sınavlar/Ara Juri 2 50
Genel Sınav/Final Juri 1 40
Toplam 8 100
Yarıyıl İçi Çalışmalarının Başarı Notu Katkısı 60
Yarıyıl Sonu Çalışmalarının Başarı Notuna Katkısı 40
Toplam 100

Kurs Kategorisi

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

Dersin Öğrenim Çıktılarının Program Yeterlilikleri ile İlişkisi

# Program Yeterlilikleri / Çıktıları Katkı Düzeyi
1 2 3 4 5
1 Matematik lisans programından edindiği ileri düzeydeki kuramsal ve uygulamalı bilgileri kullanarak matematik temelli lisansüstü programlarda, kamu veya özel sektörde bilimsel çalışma ve araştırma yapmak için yeterli bilgiye sahip olur. X
2 Alanında edindiği kuramsal ve uygulamalı bilgileri uygun araç-gereçleri kullanarak ortaöğretime uyarlar ve aktarır. X
3 Alanında edindiği bilgi ve becerileri kullanarak, matematik veya uygulandığı alanlardaki güncel problemleri modelleme ve çözüm için gerekli olan matematiksel yöntemleri seçme, kullanma, geliştirme ve çözme becerisine sahip olur. X
4 Analitik düşünme yeteneğine sahip olur ve sonuç çıkarma sürecinde zamanı etkin kullanır. X
5 Bilgisayar bilimleriyle ilgili alanlarda çalışabilecek düzeyde temel yazılım bilgisine ve bilişim teknolojilerini etkin bir şekilde kullanma becerisine sahip olur. X
6 Karar süreçlerinin ihtiyaç duyacağı verileri toplama, analiz etme, yorumlama ve istatistiksel yöntemleri kullanabilme becerisine sahip olur. X
7 Matematiğin doğrudan veya dolaylı olarak kullanıldığı alanlarda çalışma yapabilecek düzeyde bilgiye sahip olur ve yaşam boyu öğrenmenin bilinci ile mesleki bilgi ve becerilerini yeniler. X
8 Matematiğin kullanıldığı alanlarda bireysel olarak veya takımlarda ekip üyesi olarak sorumluluk alır ve etkin biçimde çalışma becerisine sahip olur. X
9 Matematik veya uygulama alanlarındaki bilgileri izleyecek ve meslektaşları ile iletişim kuracak düzeyde İngilizce bilir. X
10 Görüş ve düşüncesini nicel ve nitel verilerle destekleyerek açık ve anlaşılabilir biçimde yazılı ve sözlü ifade eder, paydaşlarıyla iletişim kurar. X
11 Matematik veya uygulama alanları ile ilgili verilerin toplanması, yorumlanması, uygulanması ve sonuçların duyurulması aşamalarında evrensel ve toplumsal boyutlardaki etkilerini dikkate alan mesleki etik ve sorumluluk bilincine sahip olur. X

ECTS/İş Yükü Tablosu

Aktiviteler Sayı Süresi (Saat) Toplam İş Yükü
Ders saati (Sınav haftası dahildir: 16 x toplam ders saati)
Laboratuar 16 2 32
Uygulama
Derse Özgü Staj
Alan Çalışması
Sınıf Dışı Ders Çalışma Süresi 14 3 42
Sunum/Seminer Hazırlama
Projeler
Raporlar
Ödevler 5 6 30
Küçük Sınavlar/Stüdyo Kritiği
Ara Sınavlara/Ara Juriye Hazırlanma Süresi 2 12 24
Genel Sınava/Genel Juriye Hazırlanma Süresi 1 18 18
Toplam İş Yükü 146