Hem uygulamalı hem de teorik bilgisayar bilimleri ile ilgili olan hesapsal problemleri çözmek için temel algoritma dizayn tekniklerini ve bu teknikler sonucunda geliştirilen algoritmaların performansını incelemek için kullanılan teknikleri tanıtmak. ALgoritma analizi için matematik bilgisi sıralama, arama, grafik problemleri ve geometrik problemler için kullanılan temel algoritma teknikleri ele alınacaktır.
Course Content
Bu ders; Algoritma analizine giriş ve ders ile alakalı bilgilerin açıklanması. , Asimtotik gösterim. ,Böl ve kazan algorithma metotu ,Yinelemelerin çözümü ,Hızlı Sıralamanın analizi, Rastgele Hızlı Sıralama. ,Yığın sıralama ,Hızlı Sıralama ,Lineer zamanda sıralama ,Ara sınav hazırlık,Ortalama ve sıra istatiği. ,Dinamik Programlama ,Açgözlü(Greedy) Algoritmalar ,Amortize Analiz, Dinamik Tablolar ,Çizgeler, Breadth-first Search (BFS). ; konularını içermektedir.
Dersin Öğrenme Kazanımları
Teaching Methods
Assessment Methods
1) Algoritma analizinin ve yeni algoritma dizayn etmenin ana ilkelerini açıklar
12, 14, 16, 9
A, E
2) Karmaşık algoritmalari daha önce öğrendikleri temel veri yapılarını kullanarak yapılandırır
12, 14, 16, 9
A, E
3) Ağaçları kullanan karmaşık algoritmaları geliştirerek bu geliştirdiği algoritmaları ve veri yapılarını gerçek dünya problemlerine uygular
10, 12, 14, 17, 9
A, E, F
4) Çizge kullanan karmaşık algoritmaları geliştirerek bu geliştirdiği algoritmaları ve veri yapılarını gerçek dünya problemlerine uygular
10, 12, 14, 17, 9
A, E, F
5) Verilen yeni hesapsal probleme sistematik bir şeklide bakabilecek ve çözüm için özgün algoritmalar ve veri yapılarıni dinamik programlama, böl ve kazan gibi metotlar kullanarak formüle eder
12, 14, 16, 19, 9
A, E
Teaching Methods:
10: Tartışma Yöntemi, 12: Problem Çözme Yöntemi, 14: Bireysel Çalışma Yöntemi, 16: Soru - Cevap Tekniği , 17: Deney yapma Tekniği, 19: Beyin Fırtınası Tekniği, 9: Anlatım Yöntemi
Assessment Methods:
A: Klasik Yazılı Sınav, E: Ödev, F: Proje Görevi
Course Outline
Order
Subjects
Preliminary Work
1
Algoritma analizine giriş ve ders ile alakalı bilgilerin açıklanması.
Ders sunuları ve ders kitabının 1. ve 2. bölümü
2
Asimtotik gösterim.
Ders sunuları ve ders kitabının 3. bölümü.
3
Böl ve kazan algorithma metotu
Ders sunuları ve ders kitabının 4. bölümü
4
Yinelemelerin çözümü
Ders sunuları ve ders kitabının 4. bölümü
5
Hızlı Sıralamanın analizi, Rastgele Hızlı Sıralama.
Ders sunuları ve ders kitabının 5. bölümü
6
Yığın sıralama
Ders sunuları ve ders kitabının 6. bölümü
7
Hızlı Sıralama
Ders sunuları ve ders kitabının 7. bölümü
8
Lineer zamanda sıralama
Ders sunuları ve ders kitabının 8. bölümü
9
Ara sınav hazırlık
9. haftaya kadar olan sunular ve ders kitabının 1'den 9. Bölüme kadar olan kısımlar.
10
Ortalama ve sıra istatiği.
Ders sunuları ve ders kitabının 9. bölümü
11
Dinamik Programlama
Ders sunuları ve ders kitabının 15. bölümü
12
Açgözlü(Greedy) Algoritmalar
Ders sunuları ve ders kitabının 16. bölümü
13
Amortize Analiz, Dinamik Tablolar
Ders sunuları ve ders kitabının 17. bölümü
14
Çizgeler, Breadth-first Search (BFS).
Ders sunuları ve ders kitabının 22. bölümü
Resources
T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. Stein, Introduction to Algorithms, Mit Press and McGraw-Hill, 2009.
Derslerde dağıtılacak olan sunum ve notlar. T
Course Contribution to Program Qualifications
Course Contribution to Program Qualifications
No
Program Qualification
Contribution Level
1
2
3
4
5
1
Temel bilimleri, matematik ve mühendislik bilimlerini üst düzeyde anlar ve uygular, alanında en son gelişmeler dahil olmak üzere genişlemesine ve derinlemesine bilgi sahibidir.
X
2
Mühendisliğin ilişkili olduğu disiplinler arası etkileşimi kavrar, yeni ve karmaşık fikirleri analiz, sentez ve değerlendirmede uzmanlık gerektiren bilgileri kullanarak özgün sonuçlara ulaşır.
X
3
Bir alanda en yeni bilgilere ulaşır ve bunları kavrayarak araştırma yapabilmek için gerekli yöntem ve becerilerde üst düzeyde yeterliğe sahiptir.
X
4
Bilime veya teknolojiye yenilik getiren, yeni bir bilimsel yöntem veya teknolojik ürün/süreç geliştiren ya da bilinen bir yöntemi yeni bir alana uygulayan kapsamlı bir çalışma yapar.
X
5
Akademik çalışmalarının çıktılarını saygın akademik ortamlarda yayınlayarak bilim ve teknoloji literatürüne katkıda bulunur.
6
Bilimsel, teknolojik, sosyal ve kültürel gelişmeleri değerlendirerek bilimsel tarafsızlık ve etik sorumluluk bilinciyle topluma aktarır.
7
Özgün bir araştırma sürecini bağımsız olarak algılar, tasarlar, uygular ve sonuçlandırır; bu süreci yönetir.
X
8
Bilimsel bilgi birikimini yazılı ve sözlü olarak etkin bir şekilde ifade eder, en az bir yabancı dilde Avrupa Dil Portföyü C1 Genel Düzeyinde iletişim kurar ve iletişim teknolojilerini ileri düzeyde kullanır
X
9
Uzmanlık alanındaki fikirlerin ve gelişmelerin eleştirel analizini, sentezini ve değerlendirmesini yapar.
X
10
Mühendislik alanındaki bilimsel, teknolojik, sosyal veya kültürel ilerlemeleri tanıtır, yaşadığı toplumun bilgi toplumu olma ve bunu sürdürebilme sürecine katkıda bulunur ve toplumsal, bilimsel, kültürel ve etik değerlerin gelişimini destekler.
Assessment Methods
Contribution Level
Absolute Evaluation
Rate of Midterm Exam to Success
50
Rate of Final Exam to Success
50
Total
100
ECTS / Workload Table
Activities
Number of
Duration(Hour)
Total Workload(Hour)
Ders Saati
14
3
42
Rehberli Problem Çözme
14
4
56
Problem Çözümü / Ödev / Proje / Rapor Tanzimi
6
8
48
Okul Dışı Diğer Faaliyetler
0
0
0
Proje Sunumu / Seminer
0
0
0
Kısa Sınav (QUİZ) ve Hazırlığı
0
0
0
Ara Sınav ve Hazırlığı
1
40
40
Genel Sınav ve Hazırlığı
1
40
40
Performans Görevi, Bakım Planı
0
0
0
Total Workload(Hour)
226
Dersin AKTS Kredisi = Toplam İş Yükü (Saat)/30*=(226/30)
8
ECTS of the course: 30 hours of work is counted as 1 ECTS credit.
Detail Informations of the Course
Course Description
Course
Code
Semester
T+P (Hour)
Credit
ECTS
İLERİ ALGORİTMA ANALİZİ VE TASARIMI
COED1212915
Bahar Dönemi
3+0
3
8
Course Program
Cumartesi 15:30-16:15
Cumartesi 16:30-17:15
Cumartesi 17:30-18:15
Cumartesi 18:30-19:15
Prerequisites Courses
Recommended Elective Courses
Language of Course
İngilizce
Course Level
Doktora
Course Type
Programa Bağlı Seçmeli
Course Coordinator
Prof.Dr. Reda ALHAJJ
Name of Lecturer(s)
Prof.Dr. Reda ALHAJJ
Assistant(s)
Aim
Hem uygulamalı hem de teorik bilgisayar bilimleri ile ilgili olan hesapsal problemleri çözmek için temel algoritma dizayn tekniklerini ve bu teknikler sonucunda geliştirilen algoritmaların performansını incelemek için kullanılan teknikleri tanıtmak. ALgoritma analizi için matematik bilgisi sıralama, arama, grafik problemleri ve geometrik problemler için kullanılan temel algoritma teknikleri ele alınacaktır.
Course Content
Bu ders; Algoritma analizine giriş ve ders ile alakalı bilgilerin açıklanması. , Asimtotik gösterim. ,Böl ve kazan algorithma metotu ,Yinelemelerin çözümü ,Hızlı Sıralamanın analizi, Rastgele Hızlı Sıralama. ,Yığın sıralama ,Hızlı Sıralama ,Lineer zamanda sıralama ,Ara sınav hazırlık,Ortalama ve sıra istatiği. ,Dinamik Programlama ,Açgözlü(Greedy) Algoritmalar ,Amortize Analiz, Dinamik Tablolar ,Çizgeler, Breadth-first Search (BFS). ; konularını içermektedir.
Dersin Öğrenme Kazanımları
Teaching Methods
Assessment Methods
1) Algoritma analizinin ve yeni algoritma dizayn etmenin ana ilkelerini açıklar
12, 14, 16, 9
A, E
2) Karmaşık algoritmalari daha önce öğrendikleri temel veri yapılarını kullanarak yapılandırır
12, 14, 16, 9
A, E
3) Ağaçları kullanan karmaşık algoritmaları geliştirerek bu geliştirdiği algoritmaları ve veri yapılarını gerçek dünya problemlerine uygular
10, 12, 14, 17, 9
A, E, F
4) Çizge kullanan karmaşık algoritmaları geliştirerek bu geliştirdiği algoritmaları ve veri yapılarını gerçek dünya problemlerine uygular
10, 12, 14, 17, 9
A, E, F
5) Verilen yeni hesapsal probleme sistematik bir şeklide bakabilecek ve çözüm için özgün algoritmalar ve veri yapılarıni dinamik programlama, böl ve kazan gibi metotlar kullanarak formüle eder
12, 14, 16, 19, 9
A, E
Teaching Methods:
10: Tartışma Yöntemi, 12: Problem Çözme Yöntemi, 14: Bireysel Çalışma Yöntemi, 16: Soru - Cevap Tekniği , 17: Deney yapma Tekniği, 19: Beyin Fırtınası Tekniği, 9: Anlatım Yöntemi
Assessment Methods:
A: Klasik Yazılı Sınav, E: Ödev, F: Proje Görevi
Course Outline
Order
Subjects
Preliminary Work
1
Algoritma analizine giriş ve ders ile alakalı bilgilerin açıklanması.
Ders sunuları ve ders kitabının 1. ve 2. bölümü
2
Asimtotik gösterim.
Ders sunuları ve ders kitabının 3. bölümü.
3
Böl ve kazan algorithma metotu
Ders sunuları ve ders kitabının 4. bölümü
4
Yinelemelerin çözümü
Ders sunuları ve ders kitabının 4. bölümü
5
Hızlı Sıralamanın analizi, Rastgele Hızlı Sıralama.
Ders sunuları ve ders kitabının 5. bölümü
6
Yığın sıralama
Ders sunuları ve ders kitabının 6. bölümü
7
Hızlı Sıralama
Ders sunuları ve ders kitabının 7. bölümü
8
Lineer zamanda sıralama
Ders sunuları ve ders kitabının 8. bölümü
9
Ara sınav hazırlık
9. haftaya kadar olan sunular ve ders kitabının 1'den 9. Bölüme kadar olan kısımlar.
10
Ortalama ve sıra istatiği.
Ders sunuları ve ders kitabının 9. bölümü
11
Dinamik Programlama
Ders sunuları ve ders kitabının 15. bölümü
12
Açgözlü(Greedy) Algoritmalar
Ders sunuları ve ders kitabının 16. bölümü
13
Amortize Analiz, Dinamik Tablolar
Ders sunuları ve ders kitabının 17. bölümü
14
Çizgeler, Breadth-first Search (BFS).
Ders sunuları ve ders kitabının 22. bölümü
Resources
T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. Stein, Introduction to Algorithms, Mit Press and McGraw-Hill, 2009.
Derslerde dağıtılacak olan sunum ve notlar. T
Course Contribution to Program Qualifications
Course Contribution to Program Qualifications
No
Program Qualification
Contribution Level
1
2
3
4
5
1
Temel bilimleri, matematik ve mühendislik bilimlerini üst düzeyde anlar ve uygular, alanında en son gelişmeler dahil olmak üzere genişlemesine ve derinlemesine bilgi sahibidir.
X
2
Mühendisliğin ilişkili olduğu disiplinler arası etkileşimi kavrar, yeni ve karmaşık fikirleri analiz, sentez ve değerlendirmede uzmanlık gerektiren bilgileri kullanarak özgün sonuçlara ulaşır.
X
3
Bir alanda en yeni bilgilere ulaşır ve bunları kavrayarak araştırma yapabilmek için gerekli yöntem ve becerilerde üst düzeyde yeterliğe sahiptir.
X
4
Bilime veya teknolojiye yenilik getiren, yeni bir bilimsel yöntem veya teknolojik ürün/süreç geliştiren ya da bilinen bir yöntemi yeni bir alana uygulayan kapsamlı bir çalışma yapar.
X
5
Akademik çalışmalarının çıktılarını saygın akademik ortamlarda yayınlayarak bilim ve teknoloji literatürüne katkıda bulunur.
6
Bilimsel, teknolojik, sosyal ve kültürel gelişmeleri değerlendirerek bilimsel tarafsızlık ve etik sorumluluk bilinciyle topluma aktarır.
7
Özgün bir araştırma sürecini bağımsız olarak algılar, tasarlar, uygular ve sonuçlandırır; bu süreci yönetir.
X
8
Bilimsel bilgi birikimini yazılı ve sözlü olarak etkin bir şekilde ifade eder, en az bir yabancı dilde Avrupa Dil Portföyü C1 Genel Düzeyinde iletişim kurar ve iletişim teknolojilerini ileri düzeyde kullanır
X
9
Uzmanlık alanındaki fikirlerin ve gelişmelerin eleştirel analizini, sentezini ve değerlendirmesini yapar.
X
10
Mühendislik alanındaki bilimsel, teknolojik, sosyal veya kültürel ilerlemeleri tanıtır, yaşadığı toplumun bilgi toplumu olma ve bunu sürdürebilme sürecine katkıda bulunur ve toplumsal, bilimsel, kültürel ve etik değerlerin gelişimini destekler.