· EEM227

EEM227 Veri Yapıları: Ders İzlencesi (2014)

EEM227 – Veri Yapıları · 22.09.2014 · 16.10.2026

Bu yazı, Başkent Üniversitesi Elektrik-Elektronik Mühendisliği EEM227 Veri Yapıları (Data Structures) dersinin izlencesidir. Hazırlayan Atilla Özgür, tarih 22 Eylül 2014. Ders Java ile işleniyordu; arşivdeki diğer EEM227 yazıları da bu dersin kod örneklerinden oluşuyor. İzlencenin orijinal PDF'i yazının sonunda indirilebilir.

Dersin amacı

  • Yazılım programlama sırasında karşılarına en çok çıkan veri yapılarına giriş
  • Veri yapılarının programlama dili içerisinde ne zaman ve nasıl kullanılacağı
  • Hangi problemlerin çözümünde hangi veri yapısının daha uygun olduğu
  • Veri yapılarının ana mantıkları
  • Veri yapılarının kodlarının yazılması

Not hesaplama

NotYüzde
Quiz%15
Ara sınav%35
Final%45
Yoklama%5
Toplam%100

Ders içerikleri ve sınavlar

Tüm ders içeriği hocanın WordPress sitesi ve YouTube kanalı üzerinden yayınlanıyordu; öğrenciler YouTube'daki videolardan ve WordPress'teki ders notlarından sorumluydu. Duyurular için Twitter da kullanılıyordu, ama ana kaynak WordPress sitesiydi.

  • atiozgur.wordpress.com/verilen-dersler/baskent-eem-227/
  • youtube.com/user/ati1ozgur

Sınavlar açık not şeklindeydi: sitedeki ders notlarının ve daha önce verilen labların çıktısı alınıp sınavda kullanılabiliyor, bu notların arkasına kendi notlarınızı da ekleyebiliyordunuz. Başka kitap ve çıktı getirilmesine izin verilmiyordu.

Konular

Hafta 1–2: Yazılım geliştirme ortamı ve Java'yı gözden geçirme

  • JDK kurulumu, BlueJ IDE (entegre geliştirme ortamı), Eclipse kurulumu
  • Class (sınıf), main metodu
  • Temel veri türleri (primitive data types) ve referans veri türleri (reference data types)
  • Kontrol yapıları (control structures) ve döngüler (loop structures)
  • Java'da referans, call by reference ve call by value
  • Constructor

Hafta 3: Temel veri yapıları

  • Array (diziler) ve dizi boyut değiştirme problemi (array resize problem)
  • Array list (dizi listeler) ve Java'da kullanımı
  • Linked list (bağlı listeler) ve Java'da kullanımı
  • Double linked list

Hafta 4: Java yardımcı konular

  • Generics
  • Iterators

Hafta 5: Tasarım prensipleri ve analiz teknikleri

  • Veri yapıları ve algoritmalar
  • İşletim sistemi: stack ve heap kavramları
  • Nesneye yönelik tasarım prensipleri (object-oriented design principles)
  • Çalışma zamanı (running time) ve hızlı matematik gözden geçirme
  • Algoritma analizi, asimptotik notasyon (Büyük O, "Big-Oh") ve asimptotik analiz

Hafta 6–7: Stack, queue, list

  • Stack (yığın) ve Java'da kullanımı
  • Queue (sıra) ve Java'da kullanımı
  • Double-ended queue (deque) ve Java'da kullanımı

Hafta 8: Sözlük ve ağaçlar (dictionaries and trees)

  • Sözlük soyut veri yapısı (the dictionary abstract data type)
  • Binary search trees, AVL trees
  • Hash tables
  • Recursion (özyineleme)

Hafta 9: Sets

  • Sets ve Java'da kullanımı

Hafta 10–12: Sıralama ve seçme (sorting, selection)

  • Bubble sort, quick sort, merge sort, radix sort
  • Sıralamanın karmaşıklığı (complexity of sorting)
  • Selection

Hafta 13–14: Sequences

  • Ranked sequences, positional sequences, general sequences
  • Priority queues (zaman kalırsa): priority queue soyut veri tipi, sequence olarak priority queue, heaps

Çıkarılan konular: çizge algoritmaları (graph algorithms), ikili karar çizgeleri (binary decision trees), devingen programlama (dynamic programming).

Not: Dropbox arşivinde bu dersin klasörü "BTS202 - Veri Yapıları" adını taşıyordu; izlencedeki ders kodu EEM227 olduğu için yazılarda bu kod kullanıldı.

syllabus.pdf

PDF · 86 KB · 4 · 22.09.2014

⬇ (86 KB)