Eskişehir Teknik Üniversitesi Eskişehir Teknik Üniversitesi
  • Kurumsal
  • Akademik Programlar
  • Öğrenci İçin Bilgi
  • English
Program Hakkında Eğitim Amaçları Program Yeterlilikleri (Çıktıları) Dersler - AKTS Kredileri Alan Yeterlilikleri Ders - Prog. Yeterlilik İlişkileri Alan & Prog. Yeterlilik İlişkileri Ders - Sürdürülebilir Kalkınma Amaçları İlişkisi
  • Mühendislik Fakültesi
  • Elektrik-Elektronik Mühendisliği Bölümü (İngilizce)
  • Dersler - AKTS Kredileri
  • Algorithms and Complexity (Algoritmalar ve Karmaşıklık)
  • Öğrenme Çıktıları
  • Tanıtım
  • Öğrenme Çıktıları
  • Program Çıktılarına Katkısı
  • ÖÇ-PÇ İlişkisi
  • AKTS İş Yükü

  • Veri yapıları temel kavramları tanımlar
  • Nesne tabanlı programlama becerisini edinecek,
  • Algoritma ile matematiksel karmaşıklık tanımlarını ilişkilendirebilecektir.
  • Java'da temel OOP kavramlarını (sınıf, nesne, kalıtım, kapsülleme, polimorfizm) tanımlar ve aralarındaki farkı söyler.
  • Dizi, bağlı liste, yığıt, kuyruk, ağaç, hash tablosu ve graf veri yapılarını tanımlayarak temel özelliklerini listeler.
  • İşaretçi (pointer/referans) kavramını, bellek adresini ve Java'daki referans semantiğini tanımlar.
  • Kavramları açıklar ve yorumlar
  • TR: Dizilerin bellekte nasıl saklandığını, indeksleme mantığını ve statik boyutun avantaj/dezavantajlarını açıklar.
  • TR: LIFO (Yığıt) ve FIFO (Kuyruk) prensiplerini açıklar; gerçek hayat senaryolarında hangi yapının kullanılacağını gerekçelendirir.
  • TR: İkili arama ağacının (BST) yapısını, sıralı gezinme yöntemlerini (inorder, preorder, postorder) ve dengesizlik sorununu açıklar.
  • Hash fonksiyonunun amacını, çakışma (collision) çözüm yöntemlerini (zincir, açık adresleme) ve yük faktörünü açıklar.
  • Yönlü ve yönsüz grafların yapısını, komşuluk matrisi ile komşuluk listesi gösterimlerini karşılaştırarak açıklar.
  • Öğrendiklerini somut durumda kullanır
  • Java'da kalıtım ve arayüz (interface) kullanarak çok katmanlı bir sınıf hiyerarşisi tasarlar ve uygular.
  • Bağlı liste, yığıt ve kuyruk veri yapılarını Java'da sıfırdan (referans/pointer mantığıyla) kodlar; ekleme, silme ve arama işlemlerini gerçekleştirir.
  • İkili arama ağacına eleman ekler, siler ve arar; inorder gezinme ile sıralı çıktı üretir.
  • Bileşenlere ayırır, karşılaştırır
  • Dizi, bağlı liste, yığıt ve kuyruk için ekleme, silme ve erişim işlemlerinin zaman karmaşıklığını (Big-O) analiz eder ve karşılaştırır.
  • Dengeli (AVL, Red-Black) ve dengesiz BST'lerin en iyi/ortalama/en kötü durum karmaşıklıklarını analiz eder.
  • Hash tablosunun performansını yük faktörü ve çakışma stratejisine göre analiz ederek O(1) amortize erişimin koşullarını açıklar.
  • Yeni bir şey tasarlar, üretir
  • Gerçek hayat problemini (ör. görev yöneticisi, sosyal ağ analizi, otomatik tamamlama) çözmek için uygun veri yapılarını birleştiren, Java ile kodlanmış özgün bir uygulama tasarlar ve geliştirir.
  • Seçilen veri yapısının zaman/alan karmaşıklığını içeren teknik bir rapor yazar ve kodun doğruluğunu birim testlerle kanıtlar.

  • Kurumsal
  • İsim ve Adres
  • Akademik Takvim
  • Yönetim Kadrosu
  • Kurum Hakkında
  • Akademik Programlar
  • Genel Kabul Şartları
  • Önceki Öğrenmenin Tanınması
  • Kayıt İşlemleri
  • AKTS Kredi Sistemi
  • Akademik Danışmanlık
  • Akademik Programlar
  • Doktora / Sanatta Yeterlik
  • Yüksek Lisans
  • Lisans
  • Önlisans
  • Öğrenci İçin Bilgi
  • Şehirde Yaşam
  • Konaklama
  • Beslenme Olanakları
  • Tıbbi Olanaklar
  • Engelli Öğrenci Olanakları ı
  • Sigorta
  • Maddi Destek
  • Öğrenci İşleri Daire Başkanlığı
  • Öğrenci İçin Bilgi
  • Öğrenim Olanakları
  • Uluslararası Programlar r
  • Değişim Öğrencileri için Pratik Bilgiler
  • Dil Kursları
  • Staj
  • Sosyal Yaşam ve Spor Olanakları
  • Öğrenci Kulüpleri