Bilgisayar Mühendisliği Lisans Programı

Veri Yapısı ve Algoritmalar(INF224-A)

Ders Kodu Dersin Adı Yarıyıl Teori Uygulama Lab Kredisi AKTS
INF224-A Veri Yapısı ve Algoritmalar 3 3 0 2 3 4
Ön Koşul
Derse Kabul Koşulları
Dersin Dili Fransızca
Türü Zorunlu
Dersin Düzeyi Lisans
Dersi Veren(ler) Gülfem ALPTEKİN gulfem@gmail.com (e-mail)
Dersin Yardımcıları
Dersin Amacı Dersin asıl amacı, öğrenciye çeşitli veri tipleri için en uygun veri yapısını seçebilme, bu veri yapılarını algoritmalar içinde kullanabilme, yazılan algoritmaların performans analizlerini yapabilme ve veri yapılarını ve ilgili algoritmaları seçilen bir bilgisayar dilinde kodlayabilme yetilerini kazandırmaktır.

Dersin içeriği aşağıdaki gibi özetlenebilir:
- Öğrencilere farklı tipte veri örnekleri gösterilerek, aradaki farklar üzerinde durulur.
- Bir algoritmayı bir fonksiyon olarak düşünebilme yetisi verilir.
- Verilen iki algoritmanın, performans açısından birbiriyle kıyaslaması öğretilir.
- Öğrenciler farklı veri yapılarını bilgisayar dilinde gerçeklemeyi öğrenirler.
- Öğrenciler veri yapılarını görsel olarak betimlemeyi öğrenirler.
- Öğrenciler, öğrendikleri veri yapılarını algoritmalar içinde kullanmayı öğrenirler.
İçerik 1. Hafta Algoritma analizi.
2. Hafta Genel veri yapıları (İşaretçi kavramı, dizi ve zincirli liste), laboratuvar uygulamaları.
3. Hafta Kuyruk veri yapısı ve laboratuvar uygulamaları.
4. Hafta Ağaç veri yapısı ve laboratuvar uygulamaları.
5. Hafta İkili arama ağacı - AVL ağacı ve laboratuvar uygulamaları.
6. Hafta Ağaç erişim algoritmaları ve laboratuvar uygulamaları.
7. Hafta Çizge (Graf) veri yapısı ve laboratuvar uygulamaları.
8. Hafta Ara Sınav
9. Hafta Çizge algoritmaları (en kısa yol, en küçük kapsarağaç) ve laboratuvar uygulamaları.
10. Hafta Çırpı fonksiyonu ve laboratuvar uygulamaları.
11. Hafta Sıralama algoritmaları ve laboratuvar uygulamaları (Seçme sıralama, araya soarak sıralama ve kabarcık sıralama).
12. Hafta Sıralama algoritmaları ve laboratuvar uygulamaları (Hızlı sıralama ve birleşmeli sıralama).
13. Hafta Arama algoritmaları ve laboratuvar uygulamaları.
14. Hafta Kodlama algoritmaları ve laboratuvar uygulamaları.
Dersin Öğrenme Çıktıları Bu dersi başarıyla tamamlayan öğrenci:

1. Tüm veri yapıları hakkında bilgi sahibi olacaktır,
2. Elindeki veriye ve içinde bulunduğu kısıtlara göre en uygun veri yapısını seçebilecektir,
3. Problemleri çözmede kullandığı algortimalarda bu veri yapılarını kullanabilecektir,
4. Farklı algoritmaları, zaman ve kaynak harcama kriterlerine göre birbiriyle kıyaslayabilecek ve aralarından en iyisini seçebilecektir,
5. Veri yapılarını ve çeşitli algoritmaları seçilen bir programlama dilinde gerçekleyebilecektir.
Öğretim Yöntemleri Anlatım, Tartışma, Gösterip Yaptırma, Örnek Olay, Problem Çözme, İşbirlikli Öğrenme, Proje, Beyin Fırtınası
Kaynaklar 1. M.A. Weiss, Data Structures & Algorithm Analysis in C++, 1999, Addison Wesley.
2. A.M. Tanenbaum, Data Structures using C, 1989, Prentice Hall.
3. A. Drozdek, Data Structures and Algorithmss in C++, 2004, Course Technology.
4. R. Sedgewick, Algorithms in C, Parts 1-4: Fundamentals, Data Structures, Sorting, Searching, 1997, Addison-Wesley.
5. Olcay Taner Yıldız, C && Java ile Veri Yapılarına Giriş, Boğaziçi Üniversitesi Yayınevi, 2013.
Ders İçeriğini Yazdır
Teori Konu Başlıkları
Hafta Konu Başlıkları
1 Algoritma analizi.
2 Genel veri yapıları (diziler, zincirli liste, kuyruk veri yapısı).
3 Ağaç veri yapısı, ikili arama ağacı.
4 AVL ağaçları.
5 Ağaç erişim algoritmaları.
6 Çırpı fonksiyonu ve uygulamaları.
7 Çizge veri yapısı.
8 Ara Sınav.
9 Çizge algoritmaları (en kısa yol, en küçük kapsar ağaç).
10 Sıralama algoritmaları.
11 Sıralama algoritmaları.
12 Arama algoritmaları.
13 Arama algoritmaları.
14 Kodlama algoritmaları.
Uygulama Konu Başlıkları
Hafta Konu Başlıkları
Başarı Notuna Etki Oranları
  Sayı Katkı Payı
Yarıyıl içi çalışmaların başarı notuna katkısı 4 50
Yarıyıl sonu çalışmaların başarı notuna katkısı 1 50
Toplam 5 100
Yarıyıl İçi Çalışmaları
  Sayı Katkı Payı
Ödevler 3 15
Sunum 0 0
Arasınavlar (Hazırlık Süresi Dahil) 1 35
Proje 0 0
Laboratuar 0 0
Diğer Uygulamalar 0 0
Kısa Sınavlar 0 0
Dönem Ödevi / Projesi 0 0
Portfolyo Çalışmaları 0 0
Raporlar 0 0
Öğrenme Günlükleri 0 0
Bitirme Tezi/Projesi 0 0
Seminer 0 0
Diğer 0 0
Toplam 4 50
Numara Program Yeterlilikleri Puan
1 2 3 4 5
1 Matematik, fizik ve mühendislik bilimleri konularında yeterli bilgi birikimi, X
2 Temel bilimleri Bilgisayar Mühendisliği alanında kullanabilme becerisi, X
3 Bilgiye erişebilme ve bu amaçla kaynak araştırması yapabilme, veri tabanları ve diğer bilgi kaynaklarını kullanabilme becerisi, X
4 Analitik düşünce ile bir sistemi, sistem bileşenini ya da süreci analiz etme, modelleme, çözüm algoritmaları üretebilme, uygulamaya alma ve geliştirme becerileri, X
5 Bilişim teknolojilerini etkin bir şekilde seçme, kullanma, yeni gelişen teknolojilere adaptasyon becerisi, X
6 Disiplinlerarası takımlar içinde çalışma becerisi, X
7 Fransızca ve İngilizce olmak üzere en az iki yabancı dil bilgisi, X
8 Girişimcilik ve yenilikçilik hakkında farkındalık, X
9 Yetki alabilme ve gereğini yerine getirebilme, X
10 İş hukuku ve etik konularında bilgi, X
11 Yaşam boyu öğrenmenin gerekliliği bilinci; kendini sürekli yenileme becerisi. X
Etkinlikler Sayı Süre Toplam İş Yükü
Ders Süresi 14 3 42
Sınıf Dışı Çalışma Süresi 14 1 14
Ödevler 2 4 8
Sunum 0 0 0
Arasınavlar (Hazırlık Süresi Dahil) 1 6 6
Proje 0 0 0
Laboratuar 2 14 28
Diğer Uygulamalar 0 0 0
Yarıyıl Sonu Sınavı (Hazırlık Süresi Dahil) 1 10 10
Kısa Sınavlar 0 0 0
Dönem Ödevi / Projesi 0 0 0
Portfolyo Çalışmaları 0 0 0
Raporlar 0 0 0
Öğrenme Günlükleri 0 0 0
Bitirme Tezi/Projesi 0 0 0
Seminer 0 0 0
Diğer 0 0 0
Toplam İş Yükü 108
Toplam İş Yükü / 25 4,32
Dersin AKTS Kredisi 4
Scroll to Top