School/Faculty/Institute Faculty of Engineering
Course Code COMP 303
Course Title in English Analysis of Algorithms
Course Title in Turkish Algoritma Analizi
Language of Instruction EN
Type of Course Flipped Classroom
Level of Course Introductory
Semester Fall
Contact Hours per Week
Lecture: 3 Recitation: none Lab: none Other: none
Estimated Student Workload 158 hours per semester
Number of Credits 6 ECTS
Grading Mode Standard Letter Grade
Pre-requisites COMP 201 - Data Structures and Algorithms
Co-requisites None
Expected Prior Knowledge Object Oriented Programming, Data Structures.
Registration Restrictions Only undergraduate students
Overall Educational Objective To evaluate the efficiency of algorithms used to solve a computational problem.
Course Description This course provides a comprehensive introduction to some fundamental aspects of Analysis of Algorithms. The following topics are covered: Introduction, mathematical foundations; asymptotic analysis; recurrences; sorting algorithms, merge sort, heap sort; randomized algorithms, Hashing, searching, Binary search Trees, 2-3 Tress, Red and Black trees , Binomial Heaps; Fibonacci Heaps Given a computational problem, we want to (a) find an algorithm to solve the problem, (b) prove that the algorithm solves the problem correctly, (c) prove that we cannot solve the problem any faster, and (d) implement the algorithm. The course focuses on these topics by studying useful algorithmic design techniques and methods for analyzing algorithms.

Course Learning Outcomes and Competences

Upon successful completion of the course, the learner is expected to be able to:
1) Algoritmaların performansını asimptotik gösterim kullanarak analiz eder;
2) Yinelemeleri çözer;
3) Sıralama algoritmalarını tanımlar ve karşılaştırır;
4) Hashleme, B-ağaçları, Kırmızı-Siyah ağaçlar, yığın yapıları gibi karmaşık veri yapılarını belirler;
5) Çizgeleri analiz eder;
6) Hesaplamalı problemi çözmek için verimli algoritmalar tasarlar ve uygular;
7) Hesaplamalı problemi çözmek için algoritmaları analiz eder ve yorumlar;
Program Learning Outcomes/Course Learning Outcomes 1 2 3 4 5 6 7
1) Psikolojideki başlıca kavramlar, teorik perspektifler, deneysel bulgular ve tarihsel eğilimler hakkında kapsamlı bilgi edinilmesi.
2) Psikolojide temel araştırma yöntemlerini, ayrıca araştırma tasarımı, veri analizi ve veri yorumlama anlama ve uygulama becerisi.
3) Davranış ve zihinsel süreçlerle ilgili problemleri çözmek için eleştirel ve yaratıcı düşünme, şüpheci sorgulama ve bilimsel bir yaklaşım kullanma yetkinliği.
4) Psikolojik ilke, beceri ve değerleri kişisel, sosyal ve örgütsel bağlamlarda anlama ve uygulama becerisi.
5) Psikoloji disipliniyle bağlantılı olan kanıtları değerlendirme, belirsizliği tolere etme ve diğer değerleri yansıtma becerisi.
6) Mesleki etik standartların içselleştirilmesi ve yayılması.
7) Psikoloji ve diğer sosyal bilimler alanlarında bilgi edinme amacıyla bilgi teknolojileri, bilgisayar ve diğer teknolojileri kullanma konusunda yetkinlik gösterme.
8) Psikoloji bilimi bilgisini Türkçe ve en azından CEFR B2 düzeyinde İngilizce olmak üzere çeşitli formatlarda etkili bir şekilde iletme becerisi.
9) Sosyokültürel ve uluslararası çeşitliliğin karmaşıklığını tanıma, anlama ve buna saygı gösterme.
10) Yaşam boyu öğrenme, araştırma ve kendini geliştirme ihtiyacını tanıma ve bu doğrultuda beceriler geliştirme.
11) Psikolojik teori ve literatüre dayanarak eleştirel hipotezler oluşturma ve bu hipotezleri test etmek için çalışmalar tasarlama becerisi.
12) Bağımsız olarak bilgi edinme ve kendi öğrenimini planlama becerisi.
13) Yazılı çalışmaların ve sunumların netliği ve düzeni konusunda ileri düzeyde yetkinlik gösterme.

Relation to Program Outcomes and Competences

N None S Supportive H Highly Related
     
Program Outcomes and Competences Level Assessed by
1) Psikolojideki başlıca kavramlar, teorik perspektifler, deneysel bulgular ve tarihsel eğilimler hakkında kapsamlı bilgi edinilmesi. N
2) Psikolojide temel araştırma yöntemlerini, ayrıca araştırma tasarımı, veri analizi ve veri yorumlama anlama ve uygulama becerisi. N
3) Davranış ve zihinsel süreçlerle ilgili problemleri çözmek için eleştirel ve yaratıcı düşünme, şüpheci sorgulama ve bilimsel bir yaklaşım kullanma yetkinliği. H Sınav,Ödev,Derse Katılım
4) Psikolojik ilke, beceri ve değerleri kişisel, sosyal ve örgütsel bağlamlarda anlama ve uygulama becerisi. N
5) Psikoloji disipliniyle bağlantılı olan kanıtları değerlendirme, belirsizliği tolere etme ve diğer değerleri yansıtma becerisi. N
6) Mesleki etik standartların içselleştirilmesi ve yayılması. N
7) Psikoloji ve diğer sosyal bilimler alanlarında bilgi edinme amacıyla bilgi teknolojileri, bilgisayar ve diğer teknolojileri kullanma konusunda yetkinlik gösterme. N
8) Psikoloji bilimi bilgisini Türkçe ve en azından CEFR B2 düzeyinde İngilizce olmak üzere çeşitli formatlarda etkili bir şekilde iletme becerisi. N
9) Sosyokültürel ve uluslararası çeşitliliğin karmaşıklığını tanıma, anlama ve buna saygı gösterme. S Derse Katılım
10) Yaşam boyu öğrenme, araştırma ve kendini geliştirme ihtiyacını tanıma ve bu doğrultuda beceriler geliştirme. S Ödev,Derse Katılım
11) Psikolojik teori ve literatüre dayanarak eleştirel hipotezler oluşturma ve bu hipotezleri test etmek için çalışmalar tasarlama becerisi. N
12) Bağımsız olarak bilgi edinme ve kendi öğrenimini planlama becerisi. S Sınav,Ödev
13) Yazılı çalışmaların ve sunumların netliği ve düzeni konusunda ileri düzeyde yetkinlik gösterme. H Sınav,Ödev
Prepared by and Date MUHİTTİN GÖKMEN , December 2018
Course Coordinator MUHİTTİN GÖKMEN
Semester Fall
Name of Instructor Prof. Dr. MUHİTTİN GÖKMEN

Course Contents

Hafta Konu
1) Giriş
2) Asimptotik Analiz
3) Yinelemeler
4) Olasılıksal Analiz ve Rastgeleleştirilmiş Algoritmalar
5) Yığın Sıralama ve Birleştirme Sıralaması
6) Hızlı Sıralama, Doğrusal Zamanda Sıralama
7) Ortancalar ve Sıra İstatistikleri
8) Temel Veri Yapıları ve Genel Bakış
9) Hash Tabloları
10) Hash Fonksiyonları
11) İkili Arama Ağacı, 2-3 Ağaçları
12) 2-3-4 Ağaçları, Kırmızı-Siyah Ağaçlar
13) B-Ağaçları
14) Çizgeler
15) Final Sınavı/Proje/Sunum Dönemi
16) Final Sınavı/Proje/Sunum Dönemi
Required/Recommended ReadingsIntroduction to Algorithms , Third Edition, T.H. Cormen, C.E. Leiserson, R.L. Rivest, and C. Stein MIT Press, 2009, ISBN 978-0-262-03384-8
Teaching MethodsLecturing and exercises in the classroom with computers. In-class exercises and 3 Projects will be carried out by students
Homework and ProjectsIn-class exercises, Projects.
Laboratory WorkProgramming exercises
Computer UseFor Programming
Other ActivitiesNone
Assessment Methods
Assessment Tools Count Weight
Küçük Sınavlar 6 % 30
Projeler 1 % 20
Ara Sınavlar 2 % 50
TOTAL % 100
Course Administration gokmenm@mef.edu.tr
0 212 395 36 26
Instructor’s office and phone number, office hours, email address: To be announced -Office: 5th Floor, #18 -Phone number: 0 212 395 36 26 - Email address: gokmenm@mef.edu.tr Rules for attendance: Minimum of 70% attendance required. Missing a quiz: Provided that proper documents of excuse are presented, each missed quiz by the student will be given a grade which is equal to the average of all of the other quizzes. No make-up will be given. Missing a midterm: Provided that proper documents of excuse are presented, each missed midterm by the student will be given the grade of the final exam. No make-up will be given. Missing a final: Faculty regulations. A reminder of proper classroom behavior, code of student conduct: YÖK Regulations Statement on plagiarism: YÖK Regulations

ECTS Student Workload Estimation

Activity No/Weeks Hours Calculation
No/Weeks per Semester Preparing for the Activity Spent in the Activity Itself Completing the Activity Requirements
Ders Saati 14 1 3 1 70
Proje 1 30 2 2 34
Küçük Sınavlar 6 4 1 30
Ara Sınavlar 2 10 2 24
Total Workload 158
Total Workload/25 6.3
ECTS 6