Ders Adı Kodu Yarıyıl T+U Saat Kredi AKTS
Veri Yapıları ISE 106 2 3 + 0 3 6
Ön Koşul Dersleri
Önerilen Seçmeli Dersler
Dersin Dili Türkçe
Dersin Seviyesi Lisans
Dersin Türü Zorunlu
Dersin Koordinatörü Dr.Öğr.Üyesi FATMA AKALIN
Dersi Verenler Dr.Öğr.Üyesi FATMA AKALIN,
Dersin Yardımcıları
Dersin Kategorisi Diğer
Dersin Amacı Bilgisayar Programı yapılması için, algoritma hazırlanması/akış diyagramlarının hazırlanmasından sonra, veriler için uygun veri yapılarının belirlenmesi ve kullanılması gerekir. Bu dersin kapsamında temel veri yapıları incelenmiştir.
Dersin İçeriği Veri kavramı ve veri tipleri, Listeler, balı listeler, Kuyruk, Yığıt, ikili ağaç ve uygulama alanları, sıkıştırma algoritmaları, Sıralama algoritmaları ve bunların karşılaştırılmaları, arama algoritmaları ve bunların karşılaştırılmaları ve hash tabloları
# Ders Öğrenme Çıktıları Öğretim Yöntemleri Ölçme Yöntemleri
1 Veri ve temel veri tipleri konusunda bilgi sahibi olur. Anlatım, Soru-Cevap, Tartışma,
2 yinelemeli ve özyinelemeli çözümleri karşılaştırabilir. Anlatım, Soru-Cevap, Tartışma,
3 Algoritmaların performanslarını ölçmesini bilir. Anlatım, Soru-Cevap, Tartışma,
4 Liste ve bağlı liste veri yapıları ile problem çözebilir. Anlatım, Soru-Cevap, Tartışma,
5 Yığıt yapısı ile daha etkin program yazma gerçekleştirebilir. Anlatım, Soru-Cevap, Tartışma,
6 Kuyruk yapısı ile güncel problemlere ilişkin etkin program gerçekleştirebilir Anlatım, Soru-Cevap, Tartışma,
7 Heap ağacının performansını analiz edebilir Anlatım, Soru-Cevap, Tartışma,
8 Arama, sıralama ve özel amaçlar için ağaç yapılarından faydalanabilir Anlatım, Soru-Cevap, Tartışma,
9 İkili ağaçların farklı uygulama alanlarını bilir Anlatım, Soru-Cevap, Tartışma,
10 Veri sıkıştırma algoritmalarının karşılaştırılma kriterlerini bilir ve bunları gerçekleyebilir Anlatım, Soru-Cevap, Tartışma,
11 Sıralama algoritmalarının performans ölçümlerini bilir ve bunları sınıflandırabilir. Anlatım, Soru-Cevap, Tartışma,
12 Logn karmaşıklığa sahip sıralama algoritmalarının gerçeklenmesini bilir. Anlatım, Soru-Cevap, Tartışma,
13 Öğrendiği veri yapılarının arama algoritmalarında kullanılabilirliğini görür. Anlatım, Soru-Cevap, Tartışma,
14 Hash tablolarının uygulamalarını bilir. Anlatım, Soru-Cevap, Tartışma,
15 Öğrenci kendisi yeni veri yapıları tanımlayabilir. Anlatım, Soru-Cevap, Tartışma,
Hafta Ders Konuları Ön Hazırlık
1 Temel veri tipleri ve veri kavramı
2 Özyineleme kavramı (Recursion)
3 Liste veri yapısı ve uygulamaları
4 Bağlı liste, çift yönlü listeler, tek yönlü bağlı listeler
5 Yığıt veri yapısı ve uygulamaları
6 Kuyruk veri yapısı ve uygulamaları
7 Öncelikli kuyruk ve Heap ağacı
8 Ağaç veri yapısı ve uygulamaları
9 İkili arama ağaçlarıve uygulamaları
10 Veri Sıkıştırma algoritmaları
11 Sıralama yöntemleri (Insertion, Selection, Bubble)
12 Sıralama yöntemleri (Merge, Quick, Heap)
13 Arama Yöntemleri
14 Hash tabloları
Kaynaklar
Ders Notu Ders notları
Ders Kaynakları 1. Dr.Rifat ÇÖLKESEN, "Veri yapıları ve algoritmalar", Papatya yayıncılık, 2002.
2. İbrahim Akman, "C ile Veri yapıları", SAS bilişim yayınları, 2002.
Sıra Program Çıktıları Katkı Düzeyi
1 2 3 4 5
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 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 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ı geliştirme, seçme ve kullanma becerisi; bilişim teknolojilerini etkin bir şekilde kullanma becerisi. X
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. X
6 Bilişim Teknolojilerinin yönetim, denetim, gelişim ve güvenliği/güvenilirliği hakkında bilgi sahibi olma ve farkındalık,
7 Disiplin içi ve çok disiplinli takımlarda etkin biçimde çalışabilme becerisi; bireysel çalışma becerisi. X
8 Türkçe 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. X
9 Yaşam boyu öğrenmenin gerekliliği bilinci; bilgiye erişebilme, bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisi. X
10 Etik ilkelerine uygun davranma, mesleki ve etik sorumluluk bilinci; mühendislik uygulamalarında kullanılan standartlar hakkında bilgi.
11 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. X
12 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. X
# Ders Öğrenme Çıktılarının Program Çıktılarına Katkısı PÇ 1 PÇ 2 PÇ 3 PÇ 4 PÇ 5 PÇ 6 PÇ 7 PÇ 8 PÇ 9 PÇ 10 PÇ 11 PÇ 12
1 Veri ve temel veri tipleri konusunda bilgi sahibi olur.
2 yinelemeli ve özyinelemeli çözümleri karşılaştırabilir.
3 Algoritmaların performanslarını ölçmesini bilir.
4 Liste ve bağlı liste veri yapıları ile problem çözebilir.
5 Yığıt yapısı ile daha etkin program yazma gerçekleştirebilir.
6 Kuyruk yapısı ile güncel problemlere ilişkin etkin program gerçekleştirebilir
7 Heap ağacının performansını analiz edebilir
8 Arama, sıralama ve özel amaçlar için ağaç yapılarından faydalanabilir
9 İkili ağaçların farklı uygulama alanlarını bilir
10 Veri sıkıştırma algoritmalarının karşılaştırılma kriterlerini bilir ve bunları gerçekleyebilir
11 Sıralama algoritmalarının performans ölçümlerini bilir ve bunları sınıflandırabilir.
12 Logn karmaşıklığa sahip sıralama algoritmalarının gerçeklenmesini bilir.
13 Öğrendiği veri yapılarının arama algoritmalarında kullanılabilirliğini görür.
14 Hash tablolarının uygulamalarını bilir.
15 Öğrenci kendisi yeni veri yapıları tanımlayabilir.
Değerlendirme Sistemi
Yarıyıl Çalışmaları Katkı Oranı
1. Ara Sınav 50
1. Ödev 15
2. Ödev 15
3. Ödev 20
Toplam 100
1. Yıl İçinin Başarıya 50
1. Final 50
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 3 48
Ara Sınav 1 7 7
Kısa Sınav 2 8 16
Ödev 2 4 8
Final 1 12 12
Proje / Tasarım 1 8 8
Toplam İş Yükü 147
Toplam İş Yükü / 25 (Saat) 5,88
Dersin AKTS Kredisi 6