BIM202 Algoritma Analiziİstinye ÜniversitesiAkademik Programlar Bilgisayar MühendisliğiÖğrenciler için Genel BilgiDiploma EkiErasmus BeyanıUlusal Yeterlilikler
Bilgisayar Mühendisliği

Önizleme

Lisans TYYÇ: 6. Düzey QF-EHEA: 1. Düzey EQF-LLL: 6. Düzey

Ders Genel Tanıtım Bilgileri

Ders Kodu: BIM202
Ders İsmi: Algoritma Analizi
Ders Yarıyılı: Bahar
Ders Kredileri:
AKTS
6
Öğretim Dili: Türkçe
Ders Koşulu:
Ders İş Deneyimini Gerektiriyor mu?: Hayır
Dersin Türü: Zorunlu
Dersin Seviyesi:
Lisans TYYÇ:6. Düzey QF-EHEA:1. Düzey EQF-LLL:6. Düzey
Dersin Veriliş Şekli: Yüz yüze
Dersin Koordinatörü: Dr. Öğr. Üy. MUHAMMED DAVUD
Dersi Veren(ler): Dr. Öğr. Üyesi Muhammed Davud
Dersin Yardımcıları:

Dersin Amaç ve İçeriği

Dersin Amacı: Bu ders, öğrencilere algoritmaların etkinliğini ve performansını nasıl değerlendireceklerini öğretir. Öğrenciler, zaman karmaşıklığı, alan karmaşıklığı ve asimptotik analiz gibi algoritmaları analiz etmek için çeşitli teknikler öğrenirler. Ders, sıralama, arama ve graf algoritmaları gibi farklı türdeki algoritmaları, ayrıca algoritma tasarımında kullanılan yaygın veri yapılarını kapsar. Öğrenciler ayrıca, böl ve fethet, azalt ve fethet, dönüştür ve fethet, dinamik programlama, açgözlü algoritmalar ve geri izleme algoritmaları gibi algoritmik stratejiler ve teknikler hakkında da bilgi edinirler. Bu stratejileri ve teknikleri çalışarak, öğrenciler belirli bir problemi çözmek için en uygun yaklaşımı seçmeyi ve çözümlerinin performansını analiz etmeyi öğrenirler.
Dersin İçeriği: Bu ders, öğrencilere algoritmaların etkinliğini ve performansını nasıl değerlendireceklerini öğretir. Öğrenciler, zaman karmaşıklığı, alan karmaşıklığı ve asimptotik analiz gibi algoritmaları analiz etmek için çeşitli teknikler öğrenirler. Ders, sıralama, arama ve graf algoritmaları gibi farklı türdeki algoritmaları, ayrıca algoritma tasarımında kullanılan yaygın veri yapılarını kapsar. Öğrenciler ayrıca, böl ve fethet, azalt ve fethet, dönüştür ve fethet, dinamik programlama, açgözlü algoritmalar ve geri izleme algoritmaları gibi algoritmik stratejiler ve teknikler hakkında da bilgi edinirler. Bu stratejileri ve teknikleri çalışarak, öğrenciler belirli bir problemi çözmek için en uygun yaklaşımı seçmeyi ve çözümlerinin performansını analiz etmeyi öğrenirler.

Öğrenme Kazanımları

Bu dersi başarıyla tamamlayabilen öğrenciler;
1) Farklı algoritmaların etkinliğini ve performansını, zaman karmaşıklığı, alan karmaşıklığı ve asimptotik analiz gibi teknikler kullanarak değerlendirmek.
2) Farklı türdeki problemleri çözmek için bölmeye dayalı yaklaşım, azaltmaya dayalı yaklaşım, dönüştürmeye dayalı yaklaşım, dinamik programlama, açgözlü algoritmalar ve geri izleme algoritmaları gibi çeşitli algoritmik stratejileri ve teknikleri uygulamak.
3) Diziler, bağlı listeler, ağaçlar ve hash tablolar gibi yaygın veri yapılarını kullanarak algoritmaları uygulamak.
4) Algoritmik çözümlerin performansını, deneysel yöntemler ve teorik analiz kullanarak analiz etmek.

Ders Akış Planı

Hafta Konu Ön Hazırlık
1) Giriş
2) Algoritma Verimlilik Analizi
3) Algoritma Verimlilik Analizi
4) Kaba Kuvvet ve Tümleyici Arama
5) Azalt ve Fethet
6) Böl ve Fethet
7) Böl ve Fethet
8) Ara Sınav
9) Dönüştür ve Fethet
10) Dönüştür ve Fethet
11) Alan ve Zaman Tercihleri
12) Dinamik Programlama
13) Açgözlü Teknik
14) Yinelemeli İyileştirme

Kaynaklar

Ders Notları / Kitaplar: Introduction to the Design & Analysis of Algorithms - 3rd edition, by Anany Levitin
Diğer Kaynaklar: Ders Notları

Ders - Program Öğrenme Kazanım İlişkisi

Course Learning Outcomes

1

2

3

4

Program Kazanımları
1) Matematik, bilim ve bilgisayar mühendisliği prensipleri hakkında yeterli bilgiye sahip olma, hem teorik hem de pratik olarak, ve bu bilgiyi karmaşık mühendislik problemlerine uygulayabilme becerisi.
2) Etik prensiplere, mesleki ve etik sorumluluğa uygun davranma; mühendislik uygulamalarında kullanılan standartlar hakkında bilgi sahibi olma
3) Proje yönetimi, risk yönetimi ve değişim yönetimi gibi iş uygulamaları hakkında bilgi; girişimcilik ve yenilik farkındalığı; sürdürülebilir kalkınma hakkında bilgi.
4) Bilgisayar mühendisliği uygulamalarının sağlık, çevre ve güvenlik üzerindeki etkileri ve bilgisayar mühendisliğine yansıyan dönemin sorunları hakkında bilgi sahibi olma; bilgisayar mühendisliği çözümlerinin yasal sonuçları konusunda farkındalık.
5) Uygun analiz ve modelleme tekniklerini kullanarak karmaşık bilgisayar mühendisliği problemlerini tanımlama, formülleme ve çözebilme yeteneği.
6) Belirli gereksinimleri karşılayan ve gerçekçi kısıtlar ve koşullar altında çalışan karmaşık bilgisayar sistemleri, cihazlar veya ürünler tasarlama ve geliştirme yeteneği, modern tasarım yöntemlerini kullanma yeteneği.
7) Sözlü ve yazılı iletişim becerileriyle etkili iletişim kurabilme; en az bir yabancı dil bilgisi; etkili raporlar yazabilme ve yazılı raporları anlayabilme, tasarım ve üretim raporları hazırlayabilme, etkili sunumlar yapabilme, açık ve anlaşılır talimatlar verip alabilme yeteneği.
8) Yaşam boyu öğrenme gerekliliğinin farkında olma; bilgiye erişme yeteneği, bilim ve teknolojideki gelişmeleri takip etme ve sürekli yenileme yeteneği.
9) Karmaşık bilgisayar mühendisliği problemlerinin analizi ve çözümü için kullanılan modern teknikleri ve araçları geliştirme, seçme ve kullanabilme yeteneği, bilgi teknolojilerini etkili bir şekilde kullanabilme yeteneği.
10) Karmaşık bilgisayar mühendisliği problemleri veya araştırma konularının incelenmesinde deney planlama ve yürütme, veri toplama ve analiz etme, sonuçları yorumlama yeteneği.
11) Çok disiplinli ekiplerde etkili bir şekilde çalışma yeteneği; bireysel çalışma becerileri.

Ders - Öğrenme Kazanımı İlişkisi

Etkisi Yok 1 En Düşük 2 Orta 3 En Yüksek
       
Dersin Program Kazanımlarına Etkisi Katkı Payı
1) Matematik, bilim ve bilgisayar mühendisliği prensipleri hakkında yeterli bilgiye sahip olma, hem teorik hem de pratik olarak, ve bu bilgiyi karmaşık mühendislik problemlerine uygulayabilme becerisi. 2
2) Etik prensiplere, mesleki ve etik sorumluluğa uygun davranma; mühendislik uygulamalarında kullanılan standartlar hakkında bilgi sahibi olma 2
3) Proje yönetimi, risk yönetimi ve değişim yönetimi gibi iş uygulamaları hakkında bilgi; girişimcilik ve yenilik farkındalığı; sürdürülebilir kalkınma hakkında bilgi.
4) Bilgisayar mühendisliği uygulamalarının sağlık, çevre ve güvenlik üzerindeki etkileri ve bilgisayar mühendisliğine yansıyan dönemin sorunları hakkında bilgi sahibi olma; bilgisayar mühendisliği çözümlerinin yasal sonuçları konusunda farkındalık. 3
5) Uygun analiz ve modelleme tekniklerini kullanarak karmaşık bilgisayar mühendisliği problemlerini tanımlama, formülleme ve çözebilme yeteneği. 2
6) Belirli gereksinimleri karşılayan ve gerçekçi kısıtlar ve koşullar altında çalışan karmaşık bilgisayar sistemleri, cihazlar veya ürünler tasarlama ve geliştirme yeteneği, modern tasarım yöntemlerini kullanma yeteneği.
7) Sözlü ve yazılı iletişim becerileriyle etkili iletişim kurabilme; en az bir yabancı dil bilgisi; etkili raporlar yazabilme ve yazılı raporları anlayabilme, tasarım ve üretim raporları hazırlayabilme, etkili sunumlar yapabilme, açık ve anlaşılır talimatlar verip alabilme yeteneği.
8) Yaşam boyu öğrenme gerekliliğinin farkında olma; bilgiye erişme yeteneği, bilim ve teknolojideki gelişmeleri takip etme ve sürekli yenileme yeteneği. 2
9) Karmaşık bilgisayar mühendisliği problemlerinin analizi ve çözümü için kullanılan modern teknikleri ve araçları geliştirme, seçme ve kullanabilme yeteneği, bilgi teknolojilerini etkili bir şekilde kullanabilme yeteneği.
10) Karmaşık bilgisayar mühendisliği problemleri veya araştırma konularının incelenmesinde deney planlama ve yürütme, veri toplama ve analiz etme, sonuçları yorumlama yeteneği.
11) Çok disiplinli ekiplerde etkili bir şekilde çalışma yeteneği; bireysel çalışma becerileri.

Ölçme ve Değerlendirme

Yarıyıl İçi Çalışmaları Aktivite Sayısı Katkı Payı
Ödev 2 % 20
Ara Sınavlar 1 % 30
Final 1 % 50
Toplam % 100
YARIYIL İÇİ ÇALIŞMALARININ BAŞARI NOTU KATKISI % 50
YARIYIL SONU ÇALIŞMALARININ BAŞARI NOTUNA KATKISI % 50
Toplam % 100

İş Yükü ve AKTS Kredisi Hesaplaması

Aktiviteler Aktivite Sayısı İş Yükü
Ders Saati 13 39
Sınıf Dışı Ders Çalışması 15 75
Ödevler 2 20
Ara Sınavlar 1 2
Final 1 2
Toplam İş Yükü 138