Ders Adı Veri Yapıları
Ders Kodu BPR-215
Dersin Türü Zorunlu
Ders Biriminin Seviyesi Ön Lisans
Yıl 2
Dönem 3.Yarıyıl
AKTS 3
Dersi Veren(ler)
Dersin Yardımcıları
Dersin Öğrenme Çıktıları Programlama dillerinin genel yapısını bilir, C/C++/C# programlama dilinde kullanabilir Programlama dillerinde kullanılan temel veri tiplerini bilir, C/C++/C# programlama dilinde kullanabilir Programlama dillerinde kullanılan temel karar yapılarını ve döngü yapılarını bilir, C/C++/C# programlama dilinde kullanabilir Fonksiyonları ve rekursif fonksiyon yapısını bilir, programlama dillerinde rekursif fonksiyon hazırlayabilir Geliştirilen algoritmanın analizini ve zaman karmaşıklığını hesaplayabilir Kuyruk, Yığın ve Bağlı liste yapısını bilir ve yazılım tasarımı aşamasında bu yapıları kullanabilir Temel sıralama algoritmalarını bilir ve bu algoritmaları yazılım tasarımı aşamasında kullanabilir Temel arama algoritmalarını bilir ve bu algoritmaları yazılım tasarımı aşamasında kullanabilir Ağaç yapılarını ve çeşitlerini bilir
Ders İşleme Biçimi Yüz Yüze
-
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 Hedefleri Programlama dili genel veri yapılarını kavramak
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
WorkPlacement Kullanılmamaktadır
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 0
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 0
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 0
4 Bilgisayar Teknolojileri ve Programlama alanında bağımsız olarak öğrenmeyi ve öğrendiklerini uygulayabildiğini göstermek 0
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 0
6 Sorumluluğu altında çalışanların performanslarını objektif olarak değerlendirmek ve denetlemek 0
7 Alanında yeterli olacak düzeyde yabancı dil bilgisine sahip olmak 0
8 Temel bilgisayar kullanımı bilgisi ile birlikte, mesleğinin gerektirdiği yazılım ve donanımları kullanabilmek 0
9 Alanı ile ilgili konularda, sosyal sorumluluk, etik değerler ve sosyal güvenlik hakları bilgisi ve bilincine sahip olmak 0
10 Alanı ile ilgili konularda, iş güvenliği, işçi sağlığı ve çevre koruma bilgisi ve bilincine sahip olmak 0
11 Atatürk İlkeleri konusunda bilinçli ve İnkılâp Tarihi konusunda bilgi sahibi olmak 0
12 0
13 0
14 0
15 0
16 0
17 0
18 0
19 0
Yarıyıl İçi Çalışmaları Sayısı Katkı Payı
Ara Sınav 1 60
Kısa Sınav 0 0
Ödev 2 40
Devam 0 0
Uygulama 0 0
Labaratuvar 0 0
Proje 0 0
Atölye 0 0
Seminer 0 0
Arazi Çalışması 0 0
TOPLAM 100
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 4 56
Sınıf Dışı Ders Çalışma Süresi 14 2 28
Ödevler 2 15 30
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 149    
Dersin Akts Kredisi 0    
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
Materyal Diğer
Planlanmış Öğrenme Faaliyetleri ve Öğretim Yöntemleri
Konferanslar, Uygulamalı Dersler, Sunumlar, Seminerler, Projeler, Laboratuar Uygulamaları(gerekirse)