Marmara Üniversitesi
Marmara Üniversitesi Eğitim-Öğretim Bilgi Sistemi

Programlar Hakkında Bilgi

Lisans - Mühendislik Fakültesi - Bilgisayar Mühendisliği (İngilizce)

Müfredat Adı Ders Kodu Ders Adı Ders Türü Dönem AKTS Teorik Uygulama
Bilgisayar Mühendisliği (İngilizce) - 2015 CSE2025 Data Structures Zorunlu 3 8,00 3 2

Dersin İçeriği

Dersin Amacı

Veri yapıları hakkında bilgi vermek, bazı veri yapılarını analiz etmek, programlamada en uygun veri yapısının seçiminde ve çeşitlerinin öğretilmesinde yardımcı olmaktır.

Öğrenim Türü

-

Dersin İçeriği

Veri Türleri, Algoritmik notasyon, format kabulleri, deyimler ve kontrol yapıları, yer ve zaman gereksinimleri açısından algoritma analizine giriş, basit veri yapıları, karakter dizileri, özyinelemeler, doğrusal veri yapıları ve bellekte ardışıl gösterimleri, diziler, yığınlar ve kuyruklar, listeler, tek, dairesel ve çift bağlı listeler, doğrusal olmayan veri yapıları, ağaçlar, ikili ağaçlar ve gösterimleri, çok-bağlı yapılar, çizge yapıları ve gösterimleri, dinamik bellek yönetimi, doğrama teknikleri

Planlanan Öğrenme Aktiviteleri ve Metodları

Ders notları, Power point sunumları ile anlatım, Ödev verme

Staj Durumu

Yok

Dersin Sunulduğu Dil

İngilizce

Ders Kitabı / Malzemesi / Önerilen Kaynaklar

Mark Allen Weiss, Data Structures & Algorithms Analysis in C 2nd edition, Addison-Wesley Publishing Company, 1999 Thomas H. Cormen, Charles E. Leiserson, Ronald L. Livest and Clifford Stein, Introduction to Algorithms, 2nd edition, MIT Press, 2003

Dersin Web Sayfası

https://mimoza.marmara.edu.tr/~mehmet.kaya/Courses/CSE2225/index.html

Öğrenme Çıktıları

  • karmaşık veri türleri oluşturmak
  • fiziksel verinin soyutlaştırılmasını gerçekleştirmek
  • temel veri yapılarını ifade etmek
  • algoritmaların gereksindikleri koşma zamanı ve bellek alanı için sonuşurda (asymptotic) çözümleme yapmak
  • durağan ve devingen veri yapılarını anlatmak
  • yığın, kuyruk, temel ve özel ağaçlar, kıyımlı adresleme (hash addressing), bellek yığınları (heaps) veya öncelikli kuyruklar, çizgeler gibi veri yapılarını tasarlamak ve gerçekleştirmek
  • karesel ve O(nlogn) bellek içi sıralama algoritmalarını anlamak ve uygulamak
  • veri yapıları üzerinde düğüm arama, ekleme,silme, güncelleme işlemlerinin anlaşılması ve gerçeklenmesi ve bu işlemlerin zaman/uzay karmaşıklıklarının çözümlenmesi
  • verilen bir problemi çözmek için bu problemdeki girdi-çıktı ilişkisini tam olarak temsil eden, etkin, gerekli ve yeterli karmaşıklıkta veri yapıları oluşturmak ve bu yapılar üzerindeki ilgili işlemleri geliştirmek

Haftalık Ayrıntılı Ders İçeriği

Hafta Teorik
1 Giriş ve yineleme (Amaçlar, Matematik araçları gözden geçirme ve durağan ve devingen veri yapıları)
2 Temel algoritma çözümlemesi
3 özyineleme ve özyinelemeli eşitlik çözümleri
4 Temel veri yapıları (Bağlı Listeler)
5 Temel veri yapıları (Yığınlar)
6 Temel ağaç yapıları (Genel ağaçlar, İkili ve d-dallı ağaçlar, ikili arama ağaçları)
7 Özel ağaç yapıları (AVL, splay and B-ağaçları)
8 Ara dönem sınavı
9 Temel veri yapıları (Kuyruklar)
10 Kıyımlı adresleme (hashing)
11 Bellek yığınları (heaps)
12 Sıralama Yöntemleri (Seçmeli sıralama, Köpük ve eklemeli sıralama)
13 Sıralama Yöntemleri (Kaynaştırmalı sıralama, Hızlı sıralama ve yığmalı sıralama) (Mergesort, Quicksort and Heapsort)
14 Çizge Algoritmaları (Çizgeler, İlingeli sıralama (Topological Sort), Enine ve derinlemesine arama)
15 Çizge Algoritmaları (Tek Kaynaklı En Kısa Yol problemi, En küçük kapsayan ağaç (Minimum Spanning Trees))
16 Final hazırlık
17 Final

Değerlendirme

Değerlendirme Değer
Yarıyıl (Yıl) İçi Etkinlikleri 60
Yarıyıl (Yıl) Sonu Etkinlikleri 40
Yarıyıl (Yıl) Sonu Etkinlikleri Değer
Final Sınavı 100

Öğrenci İş Yükü Hesabı

Etkinlikler Sayısı Süresi (saat) Toplam İş Yükü (saat)
Ders Öncesi/Sonrası Bireysel Çalışma 1 14 14
Proje ve Hazırlığı 27 4 108
Ödev ve Hazırlığı 0 0 0
Laboratuvar ve Hazırlığı 0 0 0
Atölye ve Hazırlığı 0 0 0
Sunum ve Hazırlığı 0 0 0
Seminer ve Hazırlığı 0 0 0
Demo ve Hazırlığı 0 0 0
Araştırma ve Hazırlığı 0 0 0
Rapor ve Hazırlığı 0 0 0
Arasınav ve Hazırlığı 20 1 20
Kısa Sınav ve Hazırlığı 8 4 32
Final ve Hazırlığı 20 1 20
Teorik Ders Saati 0 0 0
Uygulama Ders Saati 0 0 0

Program ve Öğrenme Çıktıları İlişkisi

ÖÇ1
ÖÇ2
ÖÇ3
ÖÇ4
ÖÇ5
ÖÇ6
ÖÇ7
ÖÇ8
ÖÇ9