Responsive image
DERS PROGRAMI FORMU
COURSE SYLLABUS FORM
Son Güncelleme (Last Update)
01.10.2023
Dersin Adı: Bilgi İşlem Algoritmaları Course Name: Data Processing Algorithms
Kod
(Code)
Yarıyıl
(Semester)
Kredi
(Local Credits)
AKTS Kredi
(ECTS Credits)
Ders Uygulaması, Saat/Hafta
(Course Implementation, Hours/Week)
Ders
(Theoretical)
Uygulama
(Tutorial)
Laboratuvar
(Laboratory)
MAT 333/E 5 3 6 3 0 0
Bölüm / Program
(Department / Program)
Matematik / Matematik Mühendisliği
(Mathematics / Mathematical Engineering)
Dersin Türü
(Course Type)
Zorunlu
(Compulsory)
Dersin Dili
(Course Language)
Türkçe / İngilizce
(Turkish / English)
Dersin Ön Koşulları
(Course Prerequisites)
MAT226-E / MUH212-E min DD
Dersin Mesleki Bileşene Katkısı, %
(Course Category by Content, %)
Temel Bilim ve Matematik
(Basic Sciences and Math)
Temel Mühendislik
(Engineering Science)
Mühendislik / Mimarlık Tasarım
(Engineering / Architecture Design)
Genel Eğitim
(General Education)
10 90 - -
Dersin Tanımı
(Course Description)
Algoritma Matematiği, Mertebe Hesabı, Algoritmalar ve Veri Yapıları ile Problem Çözme, Algoritma Analizi, Çizge Algoritmaları, Açgözlü Algoritmalar, Böl ve Yönet, Dinamik Programlama, Ağ Üzerinde Akım, 'P Eşit Midir NP' Problemi
Mathematics of Algorithms, Order of Magnitude, Problem Solving with Algorithms and Data Structures, Analysis of Algorithms, Graph Algorithms, Greedy Algorithms, Divide and Conquer, Dynamic Programming, Network Flow, P vs NP Problem
Dersin Amacı
(Course Objectives)
  1. Algoritma tasarım tekniklerini öğretmek.
  2. Bir algoritma için en uygun veri yapısını belirlemeyi öğretmek.
  3. En iyi, ortalama ve en kötü durumlar için bir algoritmanın çalışma zamanının karmaşıklığını belirleyebilmeyi öğretmek.
  4. Bir algoritmanın sözde kodunu yazabilme ve bu kod üzerinden analiz yapabilmeyi öğretmek.
  1. To teach algorithm design techniques.
  2. To teach to determine the most appropriate data structure for an algorithm.
  3. To teach the ability to determine the complexity of the runtime of an algorithm for best, average and worst cases.
  4. To teach to write pseudocode for an algorithm and to analyze through this code.
Dersin Öğrenme Çıktıları
(Course Learning Outcomes)
Bu dersi tamamlayan öğrenciler aşağıdaki becerileri elde eder:
  1. Birçok bilgi işlem algoritmasını uyarlayabilir ve analiz edebilir,
  2. Bir algoritmaya en uygun veri yapısını seçebilir,
  3. Günlük hayattan problemleri modelleyebilir ve en uygun algoritmayı bulabilir,
  4. P ve NP gibi karmaşıklık sınıflandırmalarını anlayabilir.
Students completing this course will be able to:
  1. Adapt and analyze many computing algorithms,
  2. Choose the most suitable data structure for an algorithm,
  3. Model daily life problems and find the most suitable algorithm.
  4. Understand complexity classes such as P and NP.
Ders Planı
Hafta Konular Dersin Öğrenme Çıktıları
1Temel Kavramlar, Algoritma Analizinin Önemi ve ÖrneklerI
2Kararlı Eşleştirme Problemi, Gale-Shapley AlgoritmasıI, III
3Hesaplanabilirlik, Veri Boyutuna Göre Çalışma Zamanın ArtmasıI
4Çizgeler: Bağlantısallık, Gezinme, İki Parçalılık, Topolojik SıralamaI, III
5Aç Gözlü Algoritmalar: Para Bozma, Zaman Planlama, Aralık Bölüntüleme, Gecikmeyi En Aza İndirgemeI, III
6Aç Gözlü Algoritmalar: Dijkstra'nın En Kısa Yol Algoritması, En Küçük Kapsar Ağaç Problemi için Prim ve Kruskal AlgoritmalarıII, III
7Böl ve Yönet: Birleştirmeli Sıralama, Evirtim Sayma, En Yakın Nokta ÇiftiI, III
8Böl ve Yönet: Temel Teorem; Tamsayı, Matris ve Polinom ÇarpımıII, III
9Dinamik Programlama: Fibonacci Dizisi, Yol Sayma, Ağırlıklı Zaman PlanlamaI, III
10Dinamik Programlama: En Büyük Alt Dizi, Parçalı En Küçük Kareler, Sırt Çantası ProblemiII, III
11Ağ Üzerinde Akım: En Büyük Akım ve En Küçük Kesi, Ford-Fulkerson AlgoritmasıI, III
12Ağ Üzerinde Akım: İki Parçalı Eşleştirme, Mükemmel Eşleştirme, Ayrık Yol ProblemiII, III
13Polinom Zaman İndirgemeleri: Bağımsız Küme, Düğüm Örtüsü, Küme Örtüsü, SağlanabilirlikIII, IV
14P ile NP Arasındaki İlişkiIV
Course Plan
Week Topics Course Learning Outcomes
1Basic Concepts, The Importance of Analysis of Algorithms and ExamplesI
2Stable Matching Problem, Gale-Shapley AlgorithmI, III
3Computational Tractability, Asymptotic Order of Growth, Common Running TimesI
4Graphs: Connectivity, Traversal, Bipartiteness, Topological OrderingI, III
5Greedy Algorithms: Coin Changing, Interval Scheduling, Interval Partitioning, Scheduling to Minimize LatenessI, III
6Greedy Algorithms: Dijkstra's Shortest Path Algorithm, Prim's and Kruskal's Algorithms for Minimum Spanning Tree ProblemII, III
7Divide and Conquer: Mergesort, Counting Inversions, Closest Pair of PointsI, III
8Divide and Conquer: Master Theorem; Integer, Matrix and Polynomial MultiplicationII, III
9Dynamic Programming: Fibonacci Sequence, Counting Paths, Weighted Interval SchedulingI, III
10Dynamic Programming: Maximum Subarray, Segmented Least Squares, Knapsack ProblemII, III
11Network Flow: Maximum Flow and Minimum Cut, Ford-Fulkerson AlgorithmI, III
12Network Flow: Bipartite Matching, Perfect Matching, Disjoint Path ProblemII, III
13Polynomial Time Reductions: Independent Set, Vertex Cover, Set Cover, SatisfiabilityIII, IV
14The P Versus NP ProblemIV



Dersin Mühendislik Öğrenci Çıktılarıyla İlişkisi

Programın Mezuna Kazandıracağı Bilgi ve Beceriler (Programa Ait Çıktılar) Katkı Seviyesi
1 2 3
1 Mühendislik, fen ve matematik ilkelerini uygulayarak karmaşık mühendislik problemlerini belirleme, formüle etme ve çözme becerisi. X
2 Küresel, kültürel, sosyal, çevresel ve ekonomik etmenlerle birlikte özel gereksinimleri sağlık, güvenlik ve refahı göz önüne alarak çözüm üreten mühendislik tasarımı uygulama becerisi.
3 Farklı dinleyici gruplarıyla etkili iletişim kurabilme becerisi. X
4 Mühendislik görevlerinde etik ve profesyonel sorumlulukların farkına varma ve mühendislik çözümlerinin küresel, ekonomik, çevresel ve toplumsal bağlamdaki etkilerini göz önünde bulundurarak bilinçli kararlar verme becerisi. X
5 Üyeleri birlikte liderlik sağlayan, işbirlikçi ve kapsayıcı bir ortam yaratan, hedefler belirleyen, görevleri planlayan ve hedefleri karşılayan bir ekipte etkili bir şekilde çalışma yeteneği becerisi. X
6 Özgün deney geliştirme, yürütme, verileri analiz etme ve yorumlama ve sonuç çıkarmak için mühendislik yargısını kullanma becerisi. X
7 Uygun öğrenme stratejileri kullanarak ihtiyaç duyulduğunda yeni bilgi edinme ve uygulama becerisi. X
Ölçek: 1: Az, 2: Kısmi, 3: Tam

Relationship of the Course to Engineering Student Outcomes

Program Student Outcomes Level of Contribution
1 2 3
1 An ability to identify, formulate, and solve complex engineering problems by applying principles of engineering, science, and mathematics. X
2 An ability to apply engineering design to produce solutions that meet specified needs with consideration of public health, safety, and welfare, as well as global, cultural, social, environmental, and economic factors.
3 An ability to communicate effectively with a range of audiences. X
4 An ability to recognize ethical and professional responsibilities in engineering situations and make informed judgments, which must consider the impact of engineering solutions in global, economic, environmental, and societal contexts. X
5 An ability to function effectively on a team whose members together provide leadership, create a collaborative and inclusive environment, establish goals, plan tasks, and meet objectives. X
6 An ability to develop and conduct appropriate experimentation, analyze and interpret data, and use engineering judgment to draw conclusions. X
7 An ability to acquire and apply new knowledge as needed, using appropriate learning strategies. X
Scale: 1: Little, 2: Partial, 3: Full

Tarih (Date)
01.04.2019
Bölüm Onayı (Departmental Approval)
Matematik Bölümü
(Department of Mathematics)




Ders Kaynakları ve Başarı Değerlendirme Sistemi (Course Materials and Assessment Criteria)

Ders Kitabı
(Textbook)
J. Kleinberg & E. Tardos, Algorithm Design, Addison Wesley, 2006.
Diğer Kaynaklar
(Other References)
G. Brassard & P. Bratley, Fundamentals of Algorithmics Prentice Hall, 1996.
R. Sedgewick, Algorithms in C, Addison Wesley, 1990.
Ödevler ve Projeler
(Homework & Projects)
Laboratuvar uygulamaların devamı ödev olarak bırakılacaktır.
Continuation of laboratory work will be left as homework.
Laboratuvar Uygulamaları
(Laboratory Work)
Uygulama bilgisayar laboratuvarında gerçeklenecektir.
The application will be carried out in the computer laboratory.
Bilgisayar Kullanımı
(Computer Usage)
Programlar bilgisayarda kodlanacaktır.
Programs will be coded on the computer.
Diğer Uygulamalar
(Other Activities)
Güncel teknolojiler öğrenci tarafından araştırılacaktır.
Current technologies will be researched by the student.
Başarı Değerlendirme Sistemi
(Assessment Criteria)
Faaliyetler
(Activities)
Adet
(Quantity)
Genel Nota Katkı, %
(Effects on Grading, %)
Yıl İçi Sınavları
(Midterm Exams)
- -
Kısa Sınavlar
(Quizzes)
12 30
Ödevler
(Homework)
1 10
Projeler
(Projects)
1 20
Dönem Ödevi/Projesi
(Term Paper/Project)
- -
Laboratuvar Uygulaması
(Laboratory Work)
- -
Diğer Uygulamalar
(Other Activities)
- -
Final Sınavı
(Final Exam)
1 40
VF almamak için gereken
(To avoid VF)
At least 35% (i.e. 21 out of 60) from the in-term assessments