Ders Adı Veri Yapıları
Ders Kodu BPR-3124
Dersin Türü Zorunlu
Ders Biriminin Seviyesi Ön Lisans
Yıl 1
Dönem 2.Yarıyıl
AKTS 3
Dersi Veren(ler) Öğr. Gör. Zeynep KOYUN
Dersin Yardımcıları
Ders İşleme Biçimi Yüz Yüze
Önkoşul Dersleri
Dersin İçeriği Veri yapıları dersinde ilk olarak temel veri tipleri ve bileşik veri tipleri ele alınır. Ardından, veri yapılarına genel bir bakış yapılarak, veri yapılarının kullanım amaçları ve algoritmalarla olan ilişkileri anlatılır. Tek bağlı doğrusal listeler, tek bağlı dairesel listeler, çift bağlı doğrusal listeler ve çift bağlı dairesel listeler gibi farklı liste türlerinin nasıl çalıştığı ve bu yapıların üzerinde gerçekleştirilen temel ve ileri düzey işlemler detaylandırılır. Yığınlar (stack) ve kuyruklar (queue) gibi doğrusal veri yapıları incelenir, bu yapıların LIFO (Last In First Out) ve FIFO (First In First Out) prensiplerine göre nasıl işlediği açıklanır. Ayrıca, kaba arama algoritması (linear search) ve hızlı arama algoritması (binary search) gibi arama algoritmalarının nasıl çalıştığı, her birinin performans analizleri ile birlikte öğretilir. Bu ders, veri yapılarını anlamanızı ve algoritmalarla birlikte etkili bir şekilde kullanmanızı sağlamayı hedefler.
Dersin Verildiği Diller Türkçe
Dersin Amacı Veri yapıları dersi, öğrencilere farklı veri yapılarını anlamalarını ve bu yapıları etkin bir şekilde kullanabilmelerini sağlamayı amaçlamaktadır. Öğrenciler, veri yapılarını seçme, uygulama ve algoritmalarla birlikte çözümleme becerisi kazanacaklardır. Bu dersin sonunda öğrenciler, veri yapılarını optimize ederek, verimli yazılımlar geliştirebileceklerdir. Hedefler: Farklı veri yapıları hakkında bilgi sahibi olmak ve her birinin avantajlarını öğrenmek. Veri yapılarının temel kavramlarını anlamak ve pratikte uygulamak. Algoritmalarla veri yapılarını kullanarak problemlere çözümler geliştirmek. Veri yapılarının karmaşıklığını analiz edebilmek ve zaman/mekân verimliliğini değerlendirmek. Veri yapılarının günlük yazılım projelerinde nasıl kullanıldığını öğrenmek.
Ders Yapısı
Temel/Alana Özgü Mesleki Dersler 60
Uzmanlık/Program Dersi 0
Destek Dersi 0
Beceri,İletişim ve Yönetim Becerileri Dersi 20
Aktarılabilir Beceri Dersi 20
Matematik ve Temel Bilimler 0
Temel Eğitim 0
Ders İşleme Şekli
Sınıf Dersi 0
Sınıf Dersi açıklama 0
Problem Saati 0
Problem Saati Açıklama 0
Laboratuvar 100
Laboratuvar Açıklama 1
Diğer 0
Diğer Açıklama 0
No Dersin Kazanımları  
1 Veri yapılarına dair temel kavramları tanımlar ve bellekteki organizasyonlarını açıklar.
2 Algoritmaların zaman ve uzay karmaşıklığını analiz eder.
3 C# programlama dilinde temel veri yapılarını uygular.
4 Bağlantılı liste çeşitlerini tanır ve uygular.
5 Yığın ve kuyruk yapılarının mantığını açıklar ve problem çözümlerinde kullanır.
6 Ağaç yapıları ve dolaşım algoritmalarını uygular.
7 İkili arama ağaçları ve AVL ağaçları üzerinde işlemler gerçekleştirir.
8 Graf yapıları oluşturur ve temel gezinme algoritmalarını uygular.
DERSİN KAZANIMLARI / PROGRAM YETERLİKLERİ İLİŞKİ MATRİSİ
DKPÇ1PÇ2PÇ3PÇ4PÇ5PÇ6PÇ7PÇ8PÇ9PÇ10PÇ11PÇ12PÇ13PÇ14PÇ15
1
2
3
4
5
6
7
8
9
10
5-Çok Yüksek İlişkili 4- Yüksek İlişkili 3-Orta İlişkili 2- Zayıf İlişkili 1-İlişkisiz
Hafta Konular  
1 Veri Tipleri
  Ön Hazırlık: OBS'deki 1.hafta dökümanları
2 Veri Yapıları Genel Bakış
  Ön Hazırlık: OBS'deki 2.hafta dökümanları
3 Tek Bağlı Doğrusal Listeler
  Ön Hazırlık: OBS'deki 3.hafta dökümanları
4 Tek Bağlı Doğrusal Listeler (Devam)
  Ön Hazırlık: OBS'deki 4.hafta dökümanları
5 Tek Bağlı Dairesel Listeler
  Ön Hazırlık: OBS'deki 5.hafta dökümanları
6 Tek Bağlı Dairesel Listeler (Devam)
  Ön Hazırlık: OBS'deki 6.hafta dökümanları
7 Çift Bağlı Doğrusal Listeler
  Ön Hazırlık: OBS'deki 7.hafta dökümanları
8 Çift Bağlı Doğrusal Listeler (Devam)
  Ön Hazırlık: OBS'deki 8.hafta dökümanları
9 Çift Bağlı Dairesel Listeler
  Ön Hazırlık: OBS'deki 9.hafta dökümanları
10 Çift Bağlı Dairesel Listeler (Devam)
  Ön Hazırlık: OBS'deki 10.hafta dökümanları
11 Yığınlar (stacks)
  Ön Hazırlık: OBS'deki 11.hafta dökümanları
12 Kuyruklar (quaues)
  Ön Hazırlık: OBS'deki 12.hafta dökümanları
13 Kabarcık Arama Algoritması
  Ön Hazırlık: OBS'deki 13.hafta dökümanları
14 Hızlı Arama Algoritması
  Ön Hazırlık: OBS'deki 14.hafta dökümanları
No Program Çıktısı Katkı Düzeyi
1 Mesleği ile ilgili temel, güncel ve uygulamalı bilgilere sahip olur. 4
2 İş sağlığı ve güvenliği, çevre bilinci ve kalite süreçleri hakkında bilgi sahibi olur. 2
3 Mesleği için güncel gelişmeleri ve uygulamaları takip eder, etkin şekilde kullanır. 5
4 Mesleği ile ilgili bilişim teknolojilerini (yazılım, program, animasyon vb.) etkin kullanır. 5
5 Mesleki problemleri ve konuları bağımsız olarak analitik ve eleştirel bir yaklaşımla değerlendirme ve çözüm önerisini sunabilme becerisine sahiptir. 4
6 Bilgi ve beceriler düzeyinde düşüncelerini yazılı ve sözlü iletişim yolu ile etkin biçimde sunabilir, anlaşılır biçimde ifade eder. 4
7 Alanı ile ilgili uygulamalarda karşılaşılan ve öngörülemeyen karmaşık sorunları çözmek için ekip üyesi olarak sorumluluk alır. 4
8 Kariyer yönetimi ve yaşam boyu öğrenme konularında farkındalığa sahiptir. 4
9 Alanı ile ilgili verilerin toplanması, uygulanması ve sonuçlarının duyurulması aşamalarında toplumsal, bilimsel, kültürel ve etik değerlere sahiptir. 5
10 Bir yabancı dili kullanarak alanındaki bilgileri takip eder ve meslektaşları ile iletişim kurar. 2
11 Algoritma ve veri yapılarını oluşturur ve matematiksel hesapları yapar. 5
12 Web programlama teknolojilerini açıklar ve uygular. 2
13 Veri tabanı tasarımı ve yönetimini gerçekleştirir. 2
14 Yazılımları test eder ve hataları giderir. 4
15 Veri yönetimi, veri işleme ve analiz etme becerisine sahiptir. 5
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 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 3 42
Sınıf Dışı Ders Çalışma Süresi 14 2 28
Ödevler 0 0 0
Sunum/Seminer 0 0 0
Proje 0 0 0
Laboratuar Çalışması 0 0 0
Arazi ya da Alan Çalışması 0 0 0
Kısa Sınav 0 0 0
Araştırma 0 0 0
Rapor Yazma/Rapor sunumu 0 0 0
Vaka İncelemesi 0 0 0
Staj 0 0 0
Uygulama/Materyal Hazırlama 0 0 0
Tez Çalışması 0 0 0
Ara Sınavlar 1 10 10
Yarıyıl Sonu Sınavı 1 10 10
İşyükü Saati (30) 0
Toplam İşyükü / Saat 90    
Dersin Akts Kredisi 3    
Ders Notu
Diğer Kaynaklar
Materyal
Dökümanlar
Ödevler
Sınavlar
Materyal Diğer
Planlanmış Öğrenme Faaliyetleri ve Öğretim Yöntemleri











Course Weekly Schedules
Hafta 1 .Hafta
Konu
Haftalık Kapsam ve Hedefler Kapsam:

Temel veri tipleri: integer, float, character, boolean
Bileşik veri tipleri: array, struct
Hedefler:
Temel veri tiplerinin tanımını öğrenmek
Bileşik veri tiplerinin kullanımını anlamak

Haftalık Öğrenme Etkinlikleri/Kaynakları/Videolar
Haftalık Öğrenme Etkinlikleri Açıklama
Haftalık Ölçme-Değerlendirme Etkinlikleri Doküman İncelemesi, Sunum,
Haftalık Ölçme-Değerlendirme Notlandırması/Ödev Teslim Süreleri
Hafta 2 .Hafta
Konu
Haftalık Kapsam ve Hedefler Kapsam:

Veri yapılarının tanımı
Veri yapıları ile algoritmaların ilişkisi
Hedefler:
Veri yapılarının çeşitlerini öğrenmek
Veri yapıları ile algoritmalar arasındaki ilişkiyi anlamak
Haftalık Öğrenme Etkinlikleri/Kaynakları/Videolar Scope:

Definition of data structures
The relationship between data structures and algorithms
Goals:
Learn the different types of data structures
Understand the relationship between data structures and algorithms
Haftalık Öğrenme Etkinlikleri Açıklama
Haftalık Ölçme-Değerlendirme Etkinlikleri Doküman İncelemesi, Sunum,
Haftalık Ölçme-Değerlendirme Notlandırması/Ödev Teslim Süreleri
Hafta 3 .Hafta
Konu
Haftalık Kapsam ve Hedefler Kapsam:

Tek bağlı doğrusal liste yapısı
Düğüm yapısı ve temel işlemler (ekleme, silme, arama)
Hedefler:
Tek bağlı doğrusal liste yapısını anlamak
Temel işlemleri gerçekleştirebilmek (ekleme, silme, arama)
Haftalık Öğrenme Etkinlikleri/Kaynakları/Videolar
Haftalık Öğrenme Etkinlikleri Açıklama
Haftalık Ölçme-Değerlendirme Etkinlikleri Doküman İncelemesi, Sunum,
Haftalık Ölçme-Değerlendirme Notlandırması/Ödev Teslim Süreleri
Hafta 4 .Hafta
Konu
Haftalık Kapsam ve Hedefler Kapsam:

Listeyi tersine çevirme
İki listeyi birleştirme
Döngü tespiti
Hedefler:
Listeyi tersine çevirebilmek
İki listeyi birleştirebilmek
Döngü tespiti yapabilmek
Haftalık Öğrenme Etkinlikleri/Kaynakları/Videolar
Haftalık Öğrenme Etkinlikleri Açıklama
Haftalık Ölçme-Değerlendirme Etkinlikleri Doküman İncelemesi, Sunum,
Haftalık Ölçme-Değerlendirme Notlandırması/Ödev Teslim Süreleri
Hafta 5 .Hafta
Konu
Haftalık Kapsam ve Hedefler Kapsam:

Tek bağlı dairesel liste yapısı
Dairesel liste üzerinde temel işlemler
Hedefler:
Tek bağlı dairesel liste yapısını anlamak
Dairesel listelerde temel işlemleri gerçekleştirebilmek
Haftalık Öğrenme Etkinlikleri/Kaynakları/Videolar
Haftalık Öğrenme Etkinlikleri Açıklama
Haftalık Ölçme-Değerlendirme Etkinlikleri Doküman İncelemesi, Sunum,
Haftalık Ölçme-Değerlendirme Notlandırması/Ödev Teslim Süreleri
Hafta 6 .Hafta
Konu
Haftalık Kapsam ve Hedefler Kapsam:

Dairesel listelerde ileri seviye işlemler
Döngü tespiti ve listeyi birleştirme
Hedefler:
Dairesel listelerde ileri seviye işlemleri öğrenmek
Listeyi birleştirebilmek ve döngü tespiti yapabilmek
Haftalık Öğrenme Etkinlikleri/Kaynakları/Videolar
Haftalık Öğrenme Etkinlikleri Açıklama
Haftalık Ölçme-Değerlendirme Etkinlikleri Doküman İncelemesi, Sunum,
Haftalık Ölçme-Değerlendirme Notlandırması/Ödev Teslim Süreleri
Hafta 7 .Hafta
Konu
Haftalık Kapsam ve Hedefler Kapsam:

Çift bağlı doğrusal liste yapısı
Düğüm yapısı ve iki yönlü gezinme
Hedefler:
Çift bağlı doğrusal liste yapısını anlamak
İki yönlü gezinme işlemlerini öğrenmek
Haftalık Öğrenme Etkinlikleri/Kaynakları/Videolar
Haftalık Öğrenme Etkinlikleri Açıklama
Haftalık Ölçme-Değerlendirme Etkinlikleri Doküman İncelemesi, Sunum,
Haftalık Ölçme-Değerlendirme Notlandırması/Ödev Teslim Süreleri
Hafta 8 .Hafta
Konu
Haftalık Kapsam ve Hedefler Kapsam:

Listeyi tersine çevirme
İki listeyi birleştirme
Hedefler:
Çift bağlı doğrusal listelerde ileri seviye işlemleri öğrenmek
Listeyi tersine çevirebilmek ve iki listeyi birleştirebilmek
Haftalık Öğrenme Etkinlikleri/Kaynakları/Videolar
Haftalık Öğrenme Etkinlikleri Açıklama
Haftalık Ölçme-Değerlendirme Etkinlikleri Doküman İncelemesi, Sunum,
Haftalık Ölçme-Değerlendirme Notlandırması/Ödev Teslim Süreleri
Hafta 9 .Hafta
Konu
Haftalık Kapsam ve Hedefler Kapsam:

Çift bağlı dairesel liste yapısı
Düğüm yapısı ve iki yönlü gezinme
Hedefler:
Çift bağlı dairesel liste yapısını anlamak
Çift yönlü gezinebilmeyi öğrenmek
Haftalık Öğrenme Etkinlikleri/Kaynakları/Videolar
Haftalık Öğrenme Etkinlikleri Açıklama
Haftalık Ölçme-Değerlendirme Etkinlikleri Doküman İncelemesi, Sunum,
Haftalık Ölçme-Değerlendirme Notlandırması/Ödev Teslim Süreleri
Hafta 10 .Hafta
Konu
Haftalık Kapsam ve Hedefler Kapsam:

Çift bağlı dairesel listelerde ileri seviye işlemler
Döngü tespiti ve listeyi tersine çevirme
Hedefler:
Çift bağlı dairesel listelerde ileri seviye işlemleri öğrenmek
Döngü tespiti ve listeyi tersine çevirmeyi öğrenmek
Haftalık Öğrenme Etkinlikleri/Kaynakları/Videolar
Haftalık Öğrenme Etkinlikleri Açıklama
Haftalık Ölçme-Değerlendirme Etkinlikleri Doküman İncelemesi, Sunum,
Haftalık Ölçme-Değerlendirme Notlandırması/Ödev Teslim Süreleri
Hafta 11 .Hafta
Konu
Haftalık Kapsam ve Hedefler Kapsam:

Yığın veri yapısının tanımı
LIFO prensibi ve temel işlemler (push, pop, peek)
Hedefler:
Yığın veri yapısının mantığını öğrenmek
Push, pop ve peek gibi temel işlemleri gerçekleştirebilmek
Haftalık Öğrenme Etkinlikleri/Kaynakları/Videolar
Haftalık Öğrenme Etkinlikleri Açıklama
Haftalık Ölçme-Değerlendirme Etkinlikleri Doküman İncelemesi, Sunum,
Haftalık Ölçme-Değerlendirme Notlandırması/Ödev Teslim Süreleri
Hafta 12 .Hafta
Konu
Haftalık Kapsam ve Hedefler Kapsam:

Kuyruk veri yapısının tanımı
FIFO prensibi ve temel işlemler (enqueue, dequeue)
Hedefler:
Kuyruk veri yapısının mantığını öğrenmek
Enqueue ve dequeue gibi temel işlemleri gerçekleştirebilmek
Haftalık Öğrenme Etkinlikleri/Kaynakları/Videolar
Haftalık Öğrenme Etkinlikleri Açıklama
Haftalık Ölçme-Değerlendirme Etkinlikleri Doküman İncelemesi, Sunum,
Haftalık Ölçme-Değerlendirme Notlandırması/Ödev Teslim Süreleri
Hafta 13 .Hafta
Konu
Haftalık Kapsam ve Hedefler Kapsam:

Kaba arama algoritması (linear search)
Algoritmanın çalışma prensibi ve performans analizi
Hedefler:
Kaba arama algoritmasını öğrenmek
Performans analizini yapabilmek
Haftalık Öğrenme Etkinlikleri/Kaynakları/Videolar
Haftalık Öğrenme Etkinlikleri Açıklama
Haftalık Ölçme-Değerlendirme Etkinlikleri Doküman İncelemesi, Sunum,
Haftalık Ölçme-Değerlendirme Notlandırması/Ödev Teslim Süreleri
Hafta 14 .Hafta
Konu
Haftalık Kapsam ve Hedefler Kapsam:

Hızlı arama algoritması (binary search)
Algoritmanın çalışma prensibi ve performans analizi
Hedefler:
Hızlı arama algoritmasını öğrenmek
Performans analizini yaparak algoritmanın etkinliğini değerlendirebilmek
Haftalık Öğrenme Etkinlikleri/Kaynakları/Videolar
Haftalık Öğrenme Etkinlikleri Açıklama
Haftalık Ölçme-Değerlendirme Etkinlikleri Doküman İncelemesi, Sunum,
Haftalık Ölçme-Değerlendirme Notlandırması/Ödev Teslim Süreleri