Veri Yapıları Laboratuvarı

Veri Yapıları Laboratuvarı 

Fakülte: Bilgisayar ve Bilişim Bilimleri Fakültesi Laboratuvar Binası

Yer: 3. Kat D3-01

Kapasite: 60 Öğrenci

Sorumlu Öğretim Üyesi:

  • Doç. Dr. Kürşat Mustafa KARAOĞLAN

Laboratuvar Sorumlusu:

  • Arş. Gör. Saliha ÖZGÜNGÖR

Laboratuvar Görseli

Karabük Üniversitesi Bilgisayar ve Bilişim Bilimleri Fakültesi Veri Yapıları Laboratuvarı genel görünümü
Karabük Üniversitesi Bilgisayar ve Bilişim Bilimleri Fakültesi – Veri Yapıları Laboratuvarı genel görünümü.

Laboratuvarın Amacı

Veri Yapıları Laboratuvarı, öğrencilerin veri organizasyonu, algoritma analizi ve bellek yönetimi konularını uygulamalı olarak öğrenmelerini amaçlar. Bu laboratuvar, programlama dillerinde (özellikle C/C++ ve Python) temel veri yapılarının (yığın, kuyruk, bağlı liste, ağaç, grafik vb.) nasıl tasarlandığını, uygulandığını ve analiz edildiğini deneysel olarak öğretir. Amaç, öğrencilere algoritmik düşünme, verimli bellek kullanımı ve problem çözme becerilerini kazandırmaktır.

Laboratuvar Kullanım Kuralları

  • Laboratuvara yalnızca ders veya proje saatlerinde, öğretim elemanı veya yetkili personel gözetiminde girilmelidir.
  • Bilgisayarlar, ağ cihazları (switch, router vb.) ve kablolama sistemleri yalnızca deney amaçlı kullanılmalıdır. Deney öncesi bağlantılar öğretim elemanına gösterilmeden enerji verilmemelidir.
  • Herhangi bir bağlantı veya konfigürasyon işlemi öncesinde öğretim elemanından onay alınmalıdır.
  • Laboratuvardaki yazılımlara izinsiz müdahale etmek, kişisel dosya yüklemek veya internet ayarlarını değiştirmek yasaktır.
  • Her öğrenci deney raporlarını düzenli olarak tutmalı ve ders sonunda teslim etmelidir.
  • Deney bitiminde bağlantılar sökülmeli, bilgisayarlar kapatılmalı ve masa düzeni korunmalıdır.
  • Laboratuvar ekipmanlarına zarar verilmesi veya arıza tespiti halinde durum derhal sorumlu personele bildirilmelidir.

Kullanım Alanları

  • Veri Yapıları ve Algoritmalar dersi uygulamaları
  • C, C++ veya Python programlama ortamlarında veri yapısı geliştirme
  • Yığın (Stack), kuyruk (Queue) ve bağlı liste (Linked List) uygulamaları
  • Ağaç (Tree) ve grafik (Graph) veri yapılarının implementasyonu
  • Sıralama (Sorting) ve arama (Searching) algoritmalarının analizi
  • Zaman karmaşıklığı (Big-O) hesaplamaları ve performans ölçümleri
  • Bitirme projeleri ve algoritma temelli akademik araştırmalar

Öğrenim Çıktıları

  • Temel veri yapılarının (yığın, kuyruk, bağlı liste, ağaç, grafik) mantığını açıklar ve uygular.
  • Farklı algoritmaların performansını analiz eder ve uygun veri yapısını seçer.
  • Programlama dili aracılığıyla dinamik bellek yönetimi (malloc/free, new/delete) işlemlerini gerçekleştirir.
  • Sıralama, arama ve gezinme (traversal) algoritmalarını uygular.
  • Zaman ve bellek verimliliğini ölçer, algoritma karmaşıklığını değerlendirir.
  • Karmaşık problemlere algoritmik düşünme ile çözüm üretir.
  • Takım çalışması, kod versiyonlama (ör. Git) ve teknik raporlama becerilerini geliştirir.
  • Mühendislik etiği ve yazılım standartlarına uygun şekilde kodlama alışkanlığı kazanır.