Ders Detayı
Ders Tanımı
Ders | Kodu | Yarıyıl | T+U Saat | Kredi | AKTS |
---|---|---|---|---|---|
VERİ YAPILARI | 3+2 | 4 | 8 |
Ders Programı |
Ön Koşul Dersleri | |
Önerilen Seçmeli Dersler |
Dersin Dili | İngilizce |
Dersin Seviyesi | Lisans |
Dersin Türü | Zorunlu |
Dersin Koordinatörü | Prof.Dr. Mehmet Kemal ÖZDEMİR |
Dersi Verenler | Prof.Dr. Mehmet Kemal ÖZDEMİR |
Dersin Yardımcıları | |
Dersin Amacı | Bu ders, farklı tip problemlerin çözümünde etkili algoritma tasarımı için, bir bilgisayardaki verinin nasıl organize edilmesi gerektiğini öğretmeyi amaçlamaktadır. İşlenen konular, diziler, listeler, yığıtlar, sıralar, ağaçlar, yığınlar, çizgeler ve arama, sıralama, seçme ve diğer benzeri uygulamalar için bu veri yapılarının kullanımını kapsamaktadır. Ders C programlama dili üzerinde konuları işleyecektir. |
Dersin İçeriği | Bu ders; Veri yapıları ve algoritmalara giriş; C Programlama Temel Giriş,Fonksiyonlar, Dizinler ve İşaretleyiciler,C'de Dizeler, Yapılar ve Bellek Atama,Algoritma analizi ve karmaşıklık gösterimleri,Temel veri yapıları: Bağlı Listeler,Soyut veri tipleri: Yığıt,Soyut veri tipleri: Sıralar,Ağaçlar ve İkili Arama Ağaçları,Etkin İkili Ağaçlar ve Çok Yollu Arama Ağaçları,Öncelikli Sıralar ve Yığınlar,Çizgeler,Seçme Algoritmaları ve Sıralama,Hesaba Dayalı Adresleme ve Çakışma,Dosyalar ve Dosya Organizasyonu; konularını içermektedir. |
Dersin İçeriği | Öğretim Yöntemleri | Ölçme Yöntemleri |
1. Öğrenci algoritma analizinin ana ilkelerini açıklayabilecektir. | 1, 15, 4, 9 | A |
2. Öğrenci bir algoritmik çözümün doğruluğunu, karmaşıklığını ve verimliliğini analiz edebilecektir. | 1, 13, 16, 4, 9 | A, D |
3. Öğrenci diziler, listeler, yığıt ve sıra gibi temel veri yapılarını algoritma tasarımında kullanabilecektir. | 1, 13, 15, 16, 4, 9 | A, D |
4. Öğrenci ağaç, ikili ağaç, yığın, hash tabloları, ve çizge veri yapılarını tanımlayabilecek ve problem çözümlerinde uygulayabilecektir | 1, 13, 15, 4 | A |
5. Öğrenci bir problemin etkili çözümü için uygun veri yapısını seçebilecektir. | 1, 13, 15, 16, 4 | D |
Öğretim Yöntemleri: | 1: Anlatım, 13: Deney / Laboratuvar, 15: Problem Çözme, 16: Proje Temelli Öğrenme, 4: Alıştırma ve Uygulama, 9: Benzetim |
Ölçme Yöntemleri: | A: Yazılı sınav, D: Proje / Tasarım |
Ders Akışı
Sıra | Konular | Ön Hazırlık |
1 | Veri yapıları ve algoritmalara giriş; C Programlama Temel Giriş | Kitap Bölümü 1, Ders Sunuları 1 |
2 | Fonksiyonlar, Dizinler ve İşaretleyiciler | Kitap Bölümü 1 ve 3, Ders Sunuları 2 |
3 | C'de Dizeler, Yapılar ve Bellek Atama | Kitap Bölümü 4 ve 5, Ders Sunuları 3 |
4 | Algoritma analizi ve karmaşıklık gösterimleri | Kitap Bölümü 2, Ders Sunuları 4 |
5 | Temel veri yapıları: Bağlı Listeler | Kitap Bölümü 6, Ders Sunuları 4 |
6 | Soyut veri tipleri: Yığıt | Kitap Bölümü 7, Ders Sunuları 6 |
7 | Soyut veri tipleri: Sıralar | Kitap Bölümü 8, Ders Sunuları 7 |
8 | Ağaçlar ve İkili Arama Ağaçları | Kitap Bölümü 9, Ders Sunuları 8 |
9 | Etkin İkili Ağaçlar ve Çok Yollu Arama Ağaçları | Kitap Bölümü 10-11, Ders Sunuları 9 |
10 | Öncelikli Sıralar ve Yığınlar | Kitap Bölümü 12, Ders Sunuları 10 |
11 | Çizgeler | Kitap Bölümü 13, Ders Sunuları 11 |
12 | Seçme Algoritmaları ve Sıralama | Kitap Bölümü 14, Ders Sunuları 12 |
13 | Hesaba Dayalı Adresleme ve Çakışma | Kitap Bölümü 15, Ders Sunuları 13 |
14 | Dosyalar ve Dosya Organizasyonu | Kitap Bölümü 16, Ders Sunuları 14 |
Kaynak |
Ders Kitabı: Data Structures Using C 2nd Edition Reema Thareja ISBN-10 : 0198099304 |
Yardımcı Kaynaklar: Data Structures and Algorithms in C++, 4th Edition, Mark A. Weiss, ISBN: 978-0132847377 Ders sunum ve notları |
Dersin Program Yeterliliklerine Katkısı
Dersin Program Yeterliliklerine Katkısı | |||||||
No | Program Yeterliliği | Katkı Düzeyi | |||||
1 | 2 | 3 | 4 | 5 | |||
0 | 1. Matematik, fen bilimleri ve ilgili mühendislik disiplinine özgü konularda yeterli bilgi birikimi; bu alanlardaki kuramsal ve uygulamalı bilgileri, karmaşık mühendislik problemlerinde kullanabilme becerisi | X | |||||
0 | 2. Karmaşık mühendislik problemlerini saptama, tanımlama, formüle etme ve çözme becerisi; bu amaçla uygun analiz ve modelleme yöntemlerini seçme ve uygulama becerisi | X | |||||
0 | 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 | |||||
0 | 4. Mühendislik uygulamalarında karşılaşılan karmaşık problemlerin analizi ve çözümü için gerekli olan modern teknik ve araçları geliştirme, seçme ve kullanma becerisi; bilişim teknolojilerini etkin bir şekilde kullanma becerisi | X | |||||
0 | 5. Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi için deney tasarlama, deney yapma, veri toplama, sonuçları analiz etme ve yorumlama becerisi | ||||||
0 | 6. Disiplin içi ve çok disiplinli takımlarda etkin biçimde çalışabilme becerisi; bireysel çalışma becerisi | ||||||
0 | 7. Sözlü ve yazılı etkin iletişim kurma becerisi; en az bir yabancı dil bilgisi; etkin rapor yazma ve yazılı raporları anlama, tasarım ve üretim raporları hazırlayabilme, etkin sunum yapabilme, açık ve anlaşılır talimat verme ve alma becerisi | ||||||
0 | 8. Yaşam boyu öğrenmenin gerekliliği bilinci; bilgiye erişebilme, bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisi | ||||||
0 | 9. Etik ilkelerine uygun davranma, mesleki ve etik sorumluluk bilinci; mühendislik uygulamalarında kullanılan standartlar hakkında bilgi | ||||||
0 | 10. Proje yönetimi, risk yönetimi ve değişiklik yönetimi gibi, iş hayatındaki uygulamalar hakkında bilgi; girişimcilik, yenilikçilik hakkında farkındalık; sürdürülebilir kalkınma hakkında bilgi | ||||||
0 | 11. 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; mühendislik çözümlerinin hukuksal sonuçları konusunda farkındalık |
Değerlendirme Sistemi
Katkı Düzeyi | Mutlak Değerlendirme | |
Ara Sınavın Başarıya Oranı | 30 | |
Genel Sınavın Başarıya Oranı | 70 | |
Toplam | 100 |