Ders Adı Veri Yapıları
Ders Kodu BPR-3259
Dersin Türü Zorunlu
Ders Biriminin Seviyesi Ön Lisans
Yıl 2
Dönem 3.Yarıyıl
AKTS 3
Dersi Veren(ler) Öğr. Gör. Remzi GÜRFİDAN
Dersin Yardımcıları
Ders İşleme Biçimi Yüz Yüze
Önkoşul Dersleri
Dersin İçeriği C/C++/C# programlama dili genel yapısı, Programlama dilleri genel yapıları, fonksiyonlar, rekursif fonksiyonlar, yığın yapısı, kuyruk yapısı, bağlı listeler, temel sıralama algoritmaları, arama algoritmaları, algoritma analizleri, ağaç yapısı
Dersin Verildiği Diller Türkçe
Dersin Amacı Programlama dillerinin genel yapıları öğretilerek, yazılım geliştirme aşamasında kullanılacak veri yapılarının bilgisine temel seviyede sahip olmak
No Dersin Kazanımları  
1 1. Algoritma yönlerini kavrama: basit sıralama ve arama algoritmaları, yinemele,
2 asimptotik alan ve karmaşık analizler Büyük-O, omega ve teta notasyonlarını kullanma.
3 Temel SQL komutlarını anlatabilir, tartışabilir ve yorumlayabilir.
4 2. Verimli ADT uygulaması kavrama :Nesne yönenimli programlama yaklaşımları, ADT
5 uygulamalarında dinamik hafıza işleme. ADT klasını kullanıcı protokolüyle birleştirme.
6 3. Temel soyut veri tiplerini kavrama: ADT nedir? Basit ADTs listeleri, yığınları, sıraları,
7 ağaçları, grafikleri gibi. Hangi şartta ADT’nin ne olduğu.
8 4. Problem analizi ve çözüm alternatiflerinin oluşturulması
DERSİN KAZANIMLARI / PROGRAM YETERLİKLERİ İLİŞKİ MATRİSİ
DKPY1PY2PY3PY4PY5PY6PY7PY8PY9PY10PY11
1
2
3
4
5
6
7
8
5-Çok Yüksek İlişkili 4- Yüksek İlişkili 3-Orta İlişkili 2- Zayıf İlişkili 1-Çok Zayıf İlişkili 0-İlişkisiz
Hafta Konular  
1 Veri yapılarına giriş, C/C++/C# programlama dili genel yapısı özellikleri, C/C++/C# derleyicisi kullanımı
2 Programlama dilleri genel yapısı, Temel veri tipleri, Bileşik veri tipleri, Veri tipi bildirimi, Programlama dillerinde Giriş-Çıkış işlemleri, C/C++/C# programlama dilinde kullanımı
3 Programlama dillerinde karar yapıları (doğru-yanlış karar yapısı, çoklu seçim karar yapısı), Döngü yapıları (sayaçlı döngü yapısı, koşullu döngü yapısı), C/C++/C# programlama dilinde kullanımı
4 Programlama dillerinde altprogram yapısı, fonksiyonlar, rekursif fonksiyon yapısı, C/C++/C# programlama dilinde kullanımı
5 Programlama dillerinde dizi yapısı kullanımı, tek boyutlu dizileri, çok boyutlu diziler,matris gösterimi, C/C++/C# programlama dilinde kullanımı
6 Temel kütüphane fonksiyonları(matematiksel fonsiyonlar, sonlandırma fonksiyonları, karakter karakter işlemleri ve veri dönüşüm fonksiyonları)
7 Algoritma Analizi, Algoritmalarda Karmaşıklık, İşletim zamanı karmaşıklığı, ve Zaman Karmaşıklığı, Başlıca zaman karmaşıklığı değerleri ve incelenmesi
8 Yığın (stack) yapısı, yığın yapısına eleman ekleme ve çıkarma işlemleri, yığın yapısı örneği
9 Kuyruk yapısı, kuyruk yapısına eleman ekleme ve çıkarma işlemleri, kuyruk yapısı örneği
10 Bağlı listeler, Bağlı liste çeşitleri (Dairesel Bağlı Listeler, Çift Bağlı Listeler v.b.), Bağlı liste yapısının algoritmik incelenmesi
11 Sıralama algoritmalarına giriş, seçerek sıralama algoritması, Kabarcık sıralama algoritması
12 Yerleşmeli sıralama algoritması, birleşmeli sıralama algoritması
13 Arama algoritmalarına giriş, Sıralı arama algoritması, İkili arama algoritması
14 Ağaç yapısı kavramları, Ağaç çeşitleri
No Bölüm Öğrenme Çıktısı Katkı Düzeyi
1 Genel veya mesleki orta öğretimde kazanılan yeterlilikler üzerine kurulan ve orta öğretim düzeyi üzerindeki dersler-uygulama araç ve gereçleri ile desteklenen bir alandaki bilgi ve becerilere sahip olmak ve o alandaki temel kavramları kavradığını göstermek. 2
2 Bilgisayar Teknolojileri ve Programlama alanında tanımı iyi yapılmış problemlerin çözümü için gerekli olan verileri tanımlama, toplama ve kullanmayı etkin bir biçimde yapabilmek; pratik uygulamalarda gereken teorik bilgileri, el ve/veya düşünsel becerileri kullanabildiğini göstermek. 2
3 Bilgisayar Teknolojileri ve Programlama alanı ile ilgili tasarımları ve uygulamaları çalışma arkadaşlarına, üstlerine ve hizmet verdiği kişi ve gruplara açık bir biçimde anlatabilmek ve takım çalışması yapabilmek. 2
4 Bilgisayar Teknolojileri ve Programlama alanında bağımsız olarak öğrenmeyi ve öğrendiklerini uygulayabildiğini göstermek. 2
5 Bilgisayar Teknolojileri ve Programlama alanında ile ilgili çalışmalarda öngörülmeyen durumlarla ilgili sorunları belirleme ve çözüm arama yeteneğini kazandığını göstermek. 2
6 Sorumluluğu altında çalışanların performanslarını objektif olarak değerlendirmek ve denetlemek. 2
7 Alanında yeterli olacak düzeyde yabancı dil bilgisine sahip olmak. 2
8 Temel bilgisayar kullanımı bilgisi ile birlikte, mesleğinin gerektirdiği yazılım ve donanımları kullanabilmek. 2
9 Alanı ile ilgili konularda, sosyal sorumluluk, etik değerler ve sosyal güvenlik hakları bilgisi ve bilincine sahip olmak. 2
10 Alanı ile ilgili konularda, iş güvenliği, işçi sağlığı ve çevre koruma bilgisi ve bilincine sahip olmak. 2
11 Atatürk İlkeleri konusunda bilinçli ve İnkılâp Tarihi konusunda bilgi sahibi olmak. 2
Yarıyıl İçi Çalışmaları Sayısı Katkı Payı
Ara Sınav 1 100
Kısa Sınav 0 0
Ödev 0 0
Devam 0 0
Uygulama 0 0
Labaratuvar 0 0
Proje 0 0
Atölye 0 0
Seminer 0 0
Arazi Çalışması 0 0
Sözlü sınav 0 0
Portfolyo 0 0
Doküman İncelemesi 0 0
Performans değerlendirme 0 0
Sunum 0 0
Alan Çalışması 0 0
Vaka Çalışması 0 0
Video Kaydı 0 0
Öz değerlendirme 0 0
Akran Değerlendirme 0 0
Eşleştirme Testleri 0 0
Çoktan seçmeli test 0 0
Kısa Cevaplı test 0 0
Kontrol listeleri 0 0
Dereceleme Ölçekleri 0 0
Zihin Haritalama 0 0
Araştırma yazısı 0 0
Çevrimiçi anket 0 0
Çevrimiçi Kısa sınav 0 0
TOPLAM 0
Yıliçinin Başarıya Oranı 40
Finalin Başarıya Oranı 60
TOPLAM 100
AKTS kredilerinin belirlenmesinde öğrenci işyükü anketlerinden faydalanılmaktadır.
Etkinlik Sayısı Süresi Toplam
Ders Süresi (Sınav Haftaları Hariç) 14 3 42
Sınıf Dışı Ders Çalışma Süresi 14 1 14
Ödevler 0 0 0
Sunum 0 0 0
Proje 0 0 0
Laboratuar Çalışması 0 0 0
Arazi ya da Alan Çalışması 0 0 0
Ara Sınavlar 1 15 15
Yarıyıl Sonu Sınavı 1 20 20
İşyükü Saati (30) 30
Toplam İşyükü / Saat 91    
Dersin Akts Kredisi 3    
Ders Notu
Diğer Kaynaklar Algoritma Geliştirme ve Veri Yapıları, Rifat Çölkesen, Papatya Yayıncılık, 2009
Materyal
Dökümanlar
Ödevler
Sınavlar vize ve final sınavı
Materyal Diğer
Planlanmış Öğrenme Faaliyetleri ve Öğretim Yöntemleri