| Ders Adı | Kodu | Yarıyıl | T+U Saat | Kredi | AKTS |
|---|---|---|---|---|---|
| Veri Yapıları | SGM 203 | 3 | 3 + 0 | 3 | 4 |
| Ön Koşul Dersleri | |
| Önerilen Seçmeli Dersler | |
| Dersin Dili | Türkçe |
| Dersin Seviyesi | Lisans |
| Dersin Türü | Zorunlu |
| Dersin Koordinatörü | Doç.Dr. MUHAMMED FATİH ADAK |
| Dersi Verenler | Doç.Dr. MUHAMMED FATİH ADAK, |
| Dersin Yardımcıları | Arş. Gör. Yasin Altunbaşak |
| Dersin Kategorisi | Diğer |
| Dersin Amacı | Bu dersin amacı; verilerin bilgisayar belleğinde etkin, düzenli ve erişilebilir biçimde saklanmasını sağlayan temel veri yapılarını tanıtmak, bu yapıların çalışma prensiplerini ve kullanım alanlarını öğretmek, farklı problem türleri için uygun veri yapısının seçilmesini sağlamak ve öğrencilerin algoritmik düşünme, problem çözme ve verimli program geliştirme becerilerini geliştirmektir. |
| Dersin İçeriği | Temel veri türleri ve göstericilerden başlayarak diziler, özyineleme, ArrayList ve LinkedList yapıları, iki yönlü ve dairesel bağlı listeler, stack ve kuyruk veri yapıları ile bunların uygulamalarını kapsamaktadır. Ayrıca ağaç veri yapıları, ikili arama ağaçları, AVL ağaçları, heap sıralama, Huffman ağacı ile veri sıkıştırma, hashing yöntemleri ve harita veri yapıları ele alınarak farklı problemlerde uygun veri yapısının seçimi ve uygulanması üzerinde durulmaktadır. |
| Özel Koşullar | |
| Sektör Desteği | |
| Destekleyen Firma | |
| Destekleyen Eğitmen |
| # | Ders Öğrenme Çıktıları | Öğretim Yöntemleri | Ölçme Yöntemleri |
|---|---|---|---|
| 1 | Veri ve temel veri tipleri konusunda bilgi sahibi olur. | ||
| 2 | yinelemeli ve özyinelemeli çözümleri karşılaştırabilir. | ||
| 3 | Liste ve bağlı liste veri yapıları ile problem çözebilir. | ||
| 4 | Yığıt yapısı ile daha etkin program yazma gerçekleştirebilir. | ||
| 5 | Kuyruk yapısı ile güncel problemlere ilişkin etkin program gerçekleştirebilir | ||
| 6 | Heap ağacının performansını analiz edebilir. | ||
| 7 | Arama, sıralama ve özel amaçlar için ağaç yapılarından faydalanabilir. | ||
| 8 | İkili ağaçların farklı uygulama alanlarını bilir. | ||
| 9 | Dengeli ve dengesiz ağaçların avantajlarını bilir. | ||
| 10 | Hash tablolarının uygulamalarını bilir. | ||
| 11 | Öğrenci kendisi yeni veri yapıları tanımlayabilir. |
| Hafta | Ders Konuları | Ön Hazırlık |
|---|---|---|
| 1 | Temel veri tipleri, veri kavramı ve algoritma analizi | 1. Hafta Sunusu |
| 2 | Bellek yönetimi ve göstericiler | 2. Hafta Sunusu |
| 3 | Özyineleme kavramı ve Özyinelemeli algoritmalar | 3. Hafta Sunusu |
| 4 | Liste veri yapısı, Statik ve Dinamik diziler | 4. Hafta Sunusu |
| 5 | Bağlı liste, tek yönlü bağlı listeler | 5. Hafta Sunusu |
| 6 | Çift yönlü bağıl listeler, Dairesel listeler | 6. Hafta Sunusu |
| 7 | Yığıt veri yapısı ve uygulamaları | 7. Hafta Sunusu |
| 8 | Kuyruk veri yapısı, doğrusal kuyruk, dairesel kuyruk | 8. Hafta Sunusu |
| 9 | Ağaç veri yapısı | 9. Hafta Sunusu |
| 10 | İkili ağaç, İfade ağacı ve İkili arama ağacı | 10. Hafta Sunusu |
| 11 | Öncelikli kuyruk ve Heap ağacı | 11. Hafta Sunusu |
| 12 | AVL ağaçları | 12. Hafta Sunusu |
| 13 | Genel Ağaç uygulamaları, Huffman, LempelZiv | 13. Hafta Sunusu |
| 14 | Hash tabloları | 14. Hafta Sunusu |
| Kaynaklar | |
|---|---|
| Ders Notu | 1. Prof. Dr. Nejat YUMUŞAK, Doç. Dr. M. Fatih ADAK, "C/C++ ile Veri Yapıları ve Çözümlü Uygulamalar", Seçkin yayıncılık, 2020, 3. Baskı |
| Ders Kaynakları | 1. Prof. Dr. Nejat YUMUŞAK, Doç. Dr. M. Fatih ADAK, "C/C++ ile Veri Yapıları ve Çözümlü Uygulamalar", Seçkin yayıncılık, 2020, 3. Baskı |
| Sıra | Program Çıktıları | Katkı Düzeyi | |||||
|---|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | |||
| 1 a | Matematik, fen bilimleri ve ilgili mühendislik disiplinine özgü konularda yeterli bilgi birikimi | ||||||
| 1 b | Bu alanlardaki kuramsal ve uygulamalı bilgileri, karmaşık mühendislik problemlerinin çözümünde kullanabilme becerisi | ||||||
| 3 | Karmaşık bir sistemi, süreci, cihazı veya ürünü gerçekçi kısıtlar ve koşullar altında, belirli gereksinimleri karşılayacak şekilde tasarlama becerisi; bu amaçla modern tasarım yöntemlerini uygulama becerisi | X | |||||
| 4 | Mühendislik uygulamalarında karşılaşılan karmaşık problemlerin analizi ve çözümü için gerekli olan modern teknik ve araçları seçme ve kullanma becerisi; bilişim teknolojilerini etkin bir şekilde kullanma becerisi | X | |||||
| 5 a | Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi için deney tasarlama becerisi | ||||||
| 5 b | Deney yapma, veri toplama, sonuçları analiz etme ve yorumlama becerisi | ||||||
| 6 a | Disiplin içi takımlarda etkin biçimde çalışabilme becerisi | ||||||
| 6 b | Çok disiplinli takımlarda etkin biçimde çalışabilme becerisi | ||||||
| 6 c | Bireysel çalışma becerisi | ||||||
| 7 a | Sözlü ve yazılı etkin iletişim kurma, etkin rapor yazma ve yazılı raporları anlama, tasarım ve üretim raporları hazırlayabilme becerisi | ||||||
| 7 b | En az bir yabancı dil bilgisi | ||||||
| 7 c | Etkin sunum yapabilme becerisi | ||||||
| 7 d | Açık ve anlaşılır talimat verme ve alma becerisi | ||||||
| 8 | Yaşam boyu öğrenmenin gerekliliği konusunda farkındalık; bilgiye erişebilme, bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisi | ||||||
| 9 a | Etik ilkelerine uygun davranma, mesleki ve etik sorumluluk hakkında bilgi | ||||||
| 9 b | Mühendislik uygulamalarında kullanılan standartlar hakkında bilgi | ||||||
| 10 a | Proje yönetimi, risk yönetimi ve değişiklik yönetimi gibi, iş hayatındaki uygulamalar hakkında bilgi | ||||||
| 10 b | Girişimcilik, yenilikçilik hakkında farkındalık | ||||||
| 10 c | Sürdürülebilir kalkınma hakkında bilgi | ||||||
| 11 a | Mühendislik uygulamalarının evrensel ve toplumsal boyutlarda sağlık, çevre ve güvenlik üzerindeki etkileri ve çağın mühendislik alanına yansıyan sorunları hakkında bilgi | ||||||
| 11 b | Mühendislik çözümlerinin hukuksal sonuçları konusunda farkındalık | ||||||
| 12 | Bilişim Teknolojilerinin yönetim, denetim, gelişim ve güvenliği/güvenilirliği hakkında bilgi sahibi olma ve farkındalık | ||||||
| # | Ders Öğrenme Çıktılarının Program Çıktılarına Katkısı | PÇ 1 a | PÇ 1 b | PÇ 3 | PÇ 4 | PÇ 5 a | PÇ 5 b | PÇ 6 a | PÇ 6 b | PÇ 6 c | PÇ 7 a | PÇ 7 b | PÇ 7 c | PÇ 7 d | PÇ 8 | PÇ 9 a | PÇ 9 b | PÇ 10 a | PÇ 10 b | PÇ 10 c | PÇ 11 a | PÇ 11 b | PÇ 12 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Veri ve temel veri tipleri konusunda bilgi sahibi olur. | ||||||||||||||||||||||
| 2 | yinelemeli ve özyinelemeli çözümleri karşılaştırabilir. | ||||||||||||||||||||||
| 3 | Liste ve bağlı liste veri yapıları ile problem çözebilir. | ||||||||||||||||||||||
| 4 | Yığıt yapısı ile daha etkin program yazma gerçekleştirebilir. | ||||||||||||||||||||||
| 5 | Kuyruk yapısı ile güncel problemlere ilişkin etkin program gerçekleştirebilir | ||||||||||||||||||||||
| 6 | Heap ağacının performansını analiz edebilir. | ||||||||||||||||||||||
| 7 | Arama, sıralama ve özel amaçlar için ağaç yapılarından faydalanabilir. | ||||||||||||||||||||||
| 8 | İkili ağaçların farklı uygulama alanlarını bilir. | ||||||||||||||||||||||
| 9 | Dengeli ve dengesiz ağaçların avantajlarını bilir. | ||||||||||||||||||||||
| 10 | Hash tablolarının uygulamalarını bilir. | ||||||||||||||||||||||
| 11 | Öğrenci kendisi yeni veri yapıları tanımlayabilir. |
| Değerlendirme Sistemi | |
|---|---|
| Yarıyıl Çalışmaları | Katkı Oranı |
| 1. Ara Sınav | 30 |
| 1. Ödev | 35 |
| 2. Ödev | 35 |
| Toplam | 100 |
| 1. Yıl İçinin Başarıya | 60 |
| 1. Final | 40 |
| Toplam | 100 |
| AKTS - İş Yükü Etkinlik | Sayı | Süre (Saat) | Toplam İş Yükü (Saat) |
|---|---|---|---|
| Ders Süresi (Sınav haftası dahildir: 16x toplam ders saati) | 16 | 3 | 48 |
| Sınıf Dışı Ders Çalışma Süresi(Ön çalışma, pekiştirme) | 16 | 2 | 32 |
| Ara Sınav | 1 | 6 | 6 |
| Ödev | 2 | 5 | 10 |
| Final | 1 | 12 | 12 |
| Toplam İş Yükü | 108 | ||
| Toplam İş Yükü / 25 (Saat) | 4,32 | ||
| dersAKTSKredisi | 4 | ||