Ders Detayı
Ders Tanımı
Ders | Kodu | Yarıyıl | T+U Saat | Kredi | AKTS |
---|---|---|---|---|---|
VERİ YAPILARI | - | Bahar Dönemi | 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, Öğr.Gör. Khaled Walıd Mohamed Abdelfatah ELGAMMAL |
Dersin Yardımcıları | Dersin laboratuvarlarını gerçekleştirecek olan dersin asistanı. |
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 Öğrenme Kazanımları | Öğretim Yöntemleri | Ölçme Yöntemleri |
Algoritma analizinin ana ilkelerini açıklar | 12, 21, 6, 9 | A |
Diziler, listeler, yığıt ve sıra gibi temel veri yapılarını algoritma tasarımında kullanır | 12, 17, 2, 21, 6, 9 | A, F |
Ağaç, ikili ağaç, yığın, hash tabloları, ve çizge veri yapılarını problem çözümlerinde uygular | 12, 17, 6, 9 | A |
Bir problemin etkili çözümü için uygun veri yapısını seçer | 12, 17, 2, 6, 9 | F |
Bir algoritmik çözümün doğruluğunu, karmaşıklığını ve verimliliğini analiz eder | 17, 2, 21, 6, 9 | A, F |
Öğretim Yöntemleri: | 12: Problem Çözme Yöntemi, 17: Deney yapma Tekniği, 2: Proje Temelli Öğrenme Modeli, 21: Benzetim/Simülasyon Tekniği, 6: Deneyimle Öğrenme Modeli, 9: Anlatım Yöntemi |
Ölçme Yöntemleri: | A: Klasik Yazılı Sınav, F: Proje Görevi |
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 | |||
1 | 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 | |||||
2 | 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 | |||||
3 | 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 | 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 | |||||
5 | 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 | ||||||
6 | 6. Disiplin içi ve çok disiplinli takımlarda etkin biçimde çalışabilme becerisi; bireysel çalışma becerisi | ||||||
7 | 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 | ||||||
8 | 8. Yaşam boyu öğrenmenin gerekliliği bilinci; bilgiye erişebilme, bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisi | ||||||
9 | 9. Etik ilkelerine uygun davranma, mesleki ve etik sorumluluk bilinci; mühendislik uygulamalarında kullanılan standartlar hakkında bilgi | ||||||
10 | 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 | ||||||
11 | 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 |
AKTS / İşyükü Tablosu | ||||||
Etkinlik | Sayı | Süresi (Saat) | Toplam İş Yükü (Saat) | |||
Ders Saati | 14 | 3 | 42 | |||
Rehberli Problem Çözme | 14 | 2 | 28 | |||
Problem Çözümü / Ödev / Proje / Rapor Tanzimi | 14 | 5 | 70 | |||
Okul Dışı Diğer Faaliyetler | 14 | 2 | 28 | |||
Proje Sunumu / Seminer | 0 | 0 | 0 | |||
Kısa Sınav (QUİZ) ve Hazırlığı | 7 | 1 | 7 | |||
Ara Sınav ve Hazırlığı | 1 | 30 | 30 | |||
Genel Sınav ve Hazırlığı | 1 | 40 | 40 | |||
Performans Görevi, Bakım Planı | 0 | 0 | 0 | |||
Toplam İş Yükü (Saat) | 245 | |||||
Dersin AKTS Kredisi = Toplam İş Yükü (Saat)/30*=(245/30) | 8 | |||||
Dersin AKTS Kredisi: *30 saatlik çalışma 1 AKTS kredisi sayılmaktadır. |
Dersin Detaylı Bilgileri
Ders Tanımı
Ders | Kodu | Yarıyıl | T+U Saat | Kredi | AKTS |
---|---|---|---|---|---|
VERİ YAPILARI | - | Bahar Dönemi | 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, Öğr.Gör. Khaled Walıd Mohamed Abdelfatah ELGAMMAL |
Dersin Yardımcıları | Dersin laboratuvarlarını gerçekleştirecek olan dersin asistanı. |
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 Öğrenme Kazanımları | Öğretim Yöntemleri | Ölçme Yöntemleri |
Algoritma analizinin ana ilkelerini açıklar | 12, 21, 6, 9 | A |
Diziler, listeler, yığıt ve sıra gibi temel veri yapılarını algoritma tasarımında kullanır | 12, 17, 2, 21, 6, 9 | A, F |
Ağaç, ikili ağaç, yığın, hash tabloları, ve çizge veri yapılarını problem çözümlerinde uygular | 12, 17, 6, 9 | A |
Bir problemin etkili çözümü için uygun veri yapısını seçer | 12, 17, 2, 6, 9 | F |
Bir algoritmik çözümün doğruluğunu, karmaşıklığını ve verimliliğini analiz eder | 17, 2, 21, 6, 9 | A, F |
Öğretim Yöntemleri: | 12: Problem Çözme Yöntemi, 17: Deney yapma Tekniği, 2: Proje Temelli Öğrenme Modeli, 21: Benzetim/Simülasyon Tekniği, 6: Deneyimle Öğrenme Modeli, 9: Anlatım Yöntemi |
Ölçme Yöntemleri: | A: Klasik Yazılı Sınav, F: Proje Görevi |
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 | |||
1 | 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 | |||||
2 | 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 | |||||
3 | 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 | 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 | |||||
5 | 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 | ||||||
6 | 6. Disiplin içi ve çok disiplinli takımlarda etkin biçimde çalışabilme becerisi; bireysel çalışma becerisi | ||||||
7 | 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 | ||||||
8 | 8. Yaşam boyu öğrenmenin gerekliliği bilinci; bilgiye erişebilme, bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisi | ||||||
9 | 9. Etik ilkelerine uygun davranma, mesleki ve etik sorumluluk bilinci; mühendislik uygulamalarında kullanılan standartlar hakkında bilgi | ||||||
10 | 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 | ||||||
11 | 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 |