Ders Kodu: | SWE209 | ||||
Ders İsmi: | Veri Yapıları ve Algoritmalar | ||||
Ders Yarıyılı: | Güz | ||||
Ders Kredileri: |
|
||||
Öğretim Dili: | İngilizce | ||||
Ders Koşulu: | |||||
Ders İş Deneyimini Gerektiriyor mu?: | Hayır | ||||
Dersin Türü: | Zorunlu | ||||
Dersin Seviyesi: |
|
||||
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 Amacı: | Bu ders, diziler, bağlı listeler, yığınlar, kuyruklar, ağaçlar ve grafler gibi temel veri yapılarının yanı sıra karmaşık veri yapıları olan hash tabloları ve heapleri de içeren çeşitli konuları kapsar. Öğrenciler ayrıca sıralama ve arama algoritmalarını da içeren algoritma analizi ve tasarımı hakkında bilgi edinecekler. Ek olarak, öğrenciler algoritmik problem çözme teknikleri, algoritmik karmaşıklık ve büyük-O gösterimi hakkında bilgi sahibi olacaklar. Ders boyunca öğrenciler, derslerde ve okumalarda ele alınan kavramları uygulayan programlama ödevleri ve projelerini tamamlamak zorunda kalacaklar. |
Dersin İçeriği: | Bu ders, diziler, bağlı listeler, yığınlar, kuyruklar, ağaçlar ve grafler gibi temel veri yapılarının yanı sıra karmaşık veri yapıları olan hash tabloları ve heapleri de içeren çeşitli konuları kapsar. Öğrenciler ayrıca sıralama ve arama algoritmalarını da içeren algoritma analizi ve tasarımı hakkında bilgi edinecekler. Ek olarak, öğrenciler algoritmik problem çözme teknikleri, algoritmik karmaşıklık ve büyük-O gösterimi hakkında bilgi sahibi olacaklar. Ders boyunca öğrenciler, derslerde ve okumalarda ele alınan kavramları uygulayan programlama ödevleri ve projelerini tamamlamak zorunda kalacaklar. |
Bu dersi başarıyla tamamlayabilen öğrenciler;
1) Veri yapıları ve algoritmaların temel kavramlarını anlamak ve uygulamak. 2) Sıralama ve arama algoritmaları dahil olmak üzere algoritma analizi ve tasarım tekniklerini anlamak ve uygulamak. 3) Ders boyunca öğrenilen kavramları kullanarak algoritmik problemleri analiz etmek ve uygun çözümleri uygulamak. 4) Algoritmik karmaşıklık ve büyük-O gösterimini anlamak ve farklı algoritmaları analiz etmek ve karşılaştırmak için uygulamak. 5) Programlama problemlerini çözmek için verimli ve optimize edilmiş algoritmalar geliştirmek. |
Hafta | Konu | Ön Hazırlık |
1) | Giriş | |
2) | Algoritmanın Karamaşıklığı Analizi | |
3) | Yineleme | |
4) | Yiğinlar | |
5) | Kuyruklar | |
6) | Listeler | |
7) | Sıralama Algoritmaları | |
8) | Ara Sınav | |
9) | Arama Algoritmaları | |
10) | Ağaçlar | |
11) | Heapler | |
12) | Graflar | |
13) | Graflar | |
14) | Hashleme |
Ders Notları / Kitaplar: | Ellis Horowitz, Sartaj Sahni and Dinesh Mehta, Fundamentals of Data Structure in C++, W.H.Freeman |
Diğer Kaynaklar: | Lecture notes |
Course Learning Outcomes | 1 |
2 |
3 |
4 |
5 |
---|---|---|---|---|---|
Program Kazanımları |
Etkisi Yok | 1 En Düşük | 2 Orta | 3 En Yüksek |
Dersin Program Kazanımlarına Etkisi | Katkı Payı |
Yarıyıl İçi Çalışmaları | Aktivite Sayısı | Katkı Payı |
Küçük Sınavlar | 1 | % 10 |
Ara Sınavlar | 1 | % 40 |
Final | 1 | % 50 |
Toplam | % 100 | |
YARIYIL İÇİ ÇALIŞMALARININ BAŞARI NOTU KATKISI | % 50 | |
YARIYIL SONU ÇALIŞMALARININ BAŞARI NOTUNA KATKISI | % 50 | |
Toplam | % 100 |
Aktiviteler | Aktivite Sayısı | İş Yükü |
Ders Saati | 13 | 39 |
Laboratuvar | 13 | 26 |
Sınıf Dışı Ders Çalışması | 14 | 60 |
Küçük Sınavlar | 4 | 8 |
Ara Sınavlar | 1 | 3 |
Final | 1 | 3 |
Toplam İş Yükü | 139 |