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

Programlar Hakkında Bilgi

Lisans - Teknoloji Fakültesi - Bilgisayar Mühendisliği

Müfredat Adı Ders Kodu Ders Adı Ders Türü Dönem AKTS Teorik Uygulama
Bilgisayar Mühendisliği - 2014 BLM2002 Veri Yapıları ve Algoritmalar Zorunlu 4 5,00 2 2

Dersin İçeriği

Dersin Amacı

Problemlere yazılım çözümlerinin tasarlanmasında kullanılabilecek temel veri yapıları ve algoritmaları öğretmek ve veri yapıları ve algoritmaları tanıtmak.

Öğrenim Türü

-

Dersin İçeriği

Yazılım Tasarımına Giriş, Karmaşıklık yönetimi, Veri soyutlama, Kavramsal veri yapısı, Algoritma Analizine Giriş, Algoritmaların verimliliği, Deneysel analiz, Bağlı liste, Liste kavramsal veri yapısı, List ve iterator sınıfları, Standard Template Library, Yığın, Stack sınıfı ve gerçeklemeleri; Kuyruk, Queue sınıfı ve gerçeklemeleri; Uygulamalar Özyineleme, özyinelemeli düşünme, özyineli fonksiyonların elle çalıştırılması, Ağaçlar, Ağaç dolaşma yöntemleri; İkili ağaçlar; İkili arama ağaçları, Huffman sıkıştırma yöntemi. Çizgeler, Çizge dolaşma; Kısa Yol Problemleri; Minimum örten ağaç problemi. Dengeli Ağaçlar,AVL ağacı, Kırmızı-siyah ağacı; 2-3 ağacı; 2-3-4 ağacı; B-ağacı. Sıralama,

Planlanan Öğrenme Aktiviteleri ve Metodları

Anlatım, görsel video, materyal örnekleri ve ödev

Staj Durumu

Yok

Dersin Sunulduğu Dil

Türkçe

Ders Kitabı / Malzemesi / Önerilen Kaynaklar

1. M. A. Weiss, Data Structures and Algorithm Analysis in C++, Addison Wesley, 2006. 2. Cormen, Leiserton, Rivest, Introduction to Algorithms, MIT Press, 2001. 3. Sahni, Data Structures, Algorithms and Applications in C++, McGraw-Hill, 1998. 4. Horowitz, Sahni, Rajasekaran, Computer Algorithms, Computer Science Press, 1998. 5. Rifat Çölkesen, Veri Yapıları ve Algoritmalar, Papatya Yayıncılık 2002.

Dersin Web Sayfası

Yok

Öğrenme Çıktıları

  • Temel veri yapıları ve algoritmaları listeyebilir.
  • Tanınan araçları kullanarak yeni algoritmalar tasarlayabilir.
  • Algoritma analizini bilir.
  • Üretilen çözümlerin karmaşıklık analizlerini çözebilir.
  • Veri yapıları kullanımını bilir.

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

Hafta Teorik
1 Yazılım Tasarımına Giriş, Karmaşıklık yönetimi, Veri soyutlama, Kavramsal veri yapısı
2 Algoritma Analizine Giriş
3 Algoritmaların verimliliği
4 Deneysel analiz
5 Bağlı liste, Liste kavramsal veri yapısı, List ve iterator sınıfları, Standard Template Library
6 Yığın, Stack sınıfı ve gerçeklemeleri; Kuyruk, Queue sınıfı ve gerçeklemeleri; Uygulamalar
7 Özyineleme, özyinelemeli düşünme, özyineli fonksiyonların elle çalıştırılması
8 Ara Sınav Haftası
9 Ağaçlar, Ağaç dolaşma yöntemleri; İkili ağaçlar; İkili arama ağaçları
10 Huffman sıkıştırma yöntemi
11 Çizgeler, Çizge dolaşma
12 Kısa Yol Problemleri; Minimum örten ağaç problemi
13 Dengeli Ağaçlar,AVL ağacı
14 Kırmızı-siyah ağacı; 2-3 ağacı;
15 B-ağacı. Sıralama,
16 Ders Çalışma Haftası
17 Yarı Yıl Sonu Sınavı

Değerlendirme

Değerlendirme Değer
Yarıyıl (Yıl) İçi Etkinlikleri 50
Yarıyıl (Yıl) Sonu Etkinlikleri 50
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 3 12 36
Proje ve Hazırlığı 1 12 12
Ödev ve Hazırlığı 1 12 12
Laboratuvar ve Hazırlığı 28 1 28
Atölye ve Hazırlığı 0 0 0
Sunum ve Hazırlığı 1 12 12
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ığı 1 12 12
Kısa Sınav ve Hazırlığı 0 0 0
Final ve Hazırlığı 1 12 12
Teorik Ders Saati 0 0 0
Uygulama Ders Saati 0 0 0

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

ÖÇ1
ÖÇ2
ÖÇ3
ÖÇ4
ÖÇ5