GAZİ ÜNİVERSİTESİ BİLGİ PAKETİ - 2019 AKADEMİK YILI

DERS TANIMI
VERİ YAPILARI VE ALGORİTMALAR/MAT- 210
Dersin Adı: VERİ YAPILARI VE ALGORİTMALAR
Dersin Kredisi: 3 Ders AKTS : 5
Dersin Yarıyılı: 4 Ders Türü : Seçmeli
DERS BİLGİLERİ
 -- DERSİN DİLİ
  Türkçe
 -- ÖĞRETİM ELEMAN(LAR)I
  Doç. Dr. Mustafa Fahri AKTAŞ
 -- ÖĞRETİM ELEMANI WEB SİTESİ/SİTELERİ
  http://websitem.gazi.edu.tr/site/mfahri/academic
 -- ÖĞRETİM ELEMANI E-POSTASI/E-POSTALARI
  mfahri@gazi.edu.tr
 -- ÖĞRENME ÇIKTILARI
Problemlere yazılım çözümlerinin tasarlanmasında kullanılabilecek temel veri yapıları ve algoritmaları öğretmek ve veri yapıları ve algoritmaları tanı








 -- DERSİN VERİLİŞ BİÇİMİ
  Bu ders sadece yüz yüze eğitim şeklinde yürütülmektedir.
 -- DERSİN ÖNKOŞULLARI
  Bu dersin önkoşulu yada eş koşulu bulunmamaktadır.
 -- ÖNERİLEN DERSLER
  Bu dersle ilişkili önerilen başka dersler bulunmamaktadır.
 --DERS İÇERİĞİ
1. Hafta  Yazılım Tasarımına Giriş: Yazılım yaşam döngüsü; Karmaşıklık yönetimi; Veri soyutlama; Kavramsal veri yapısı; Program hataları; Test stratejileri; Pro
2. Hafta  Algoritma Analizine Giriş: Hesaplama modelleri; Algoritmaların verimliliği; Asimptotik gösterim; Özyineli algoritmalar; Deneysel analiz.
3. Hafta  Algoritma Analizine Giriş: devam.
4. Hafta  Ardışık Kalıplar: Vektör Kavramsal veri yapısı; Vektör gerçeklemeleri.
5. Hafta  Ardışık Kaplar: Bağlı liste, Liste kavramsal veri yapısı; List ve iterator sınıfları; Gerçeklemeleri; StandartŞablon Kütüphanesi.
6. Hafta  Yığın: Yığın sınıfı ve gerçeklemeleri; Uygulamalar: palindrom bulma; Parantezlerin doğru kullanımı kontrolü, Aritmetik ifadelerin hesaplanması.
7. Hafta  Kuyruk: Kuyruk sınıfı ve gerçeklemeleri; Uygulamalar: Fiziksel sistemlerin benzetimi: bekleme kuyrukları.
8. Hafta  Vize
9. Hafta  Özyineleme: özyinelemeli düşünme; özyineli fonksiyonların elle çalıştırılması; Özyineli algoritma tasarımı; Uygulamalar; Özyineleme ve döngü karşılaşt
10. Hafta  Ağaçlar: Genel yapı; Ağaç dolaşma yöntemleri; İkili ağaçlar; İkili arama ağaçları; BST sınıfı ve gerçeklemesi.
11. Hafta  Ağaçlar: Yığınlar; Yığın gerçeklemeleri; Huffman sıkıştırma yöntemi.
12. Hafta  Map ve Set Sınıfları: Hash kodlama; Açık adresleme; Zincirleme; Gerçeklemeler.
13. Hafta  Çizgeler: Tanımlar; Graph Sınıfı ve gerçeklemeleri; Çizge dolaşma; Topolojik sıralama; Çizge kullanan problemler: Kısa Yol Problemleri; Minimum örten
14. Hafta  Dengeli Ağaçlar: Dengeli ikili arama ağaçları: AVL ağacı, Kırmızı-siyah ağacı; 2-3 ağacı; 2-3-4 ağacı; B-ağacı.
15. Hafta  Sıralama: STL ile sıralama; Seçmeli sıralama; Kabarcık sıralaması; Eklemeli sıralama; Shell sıralaması; Birleştirmeli sıralama; Yığın sıralaması; Hızl
16. Hafta  Final
 -- ZORUNLU YA DA ÖNERİLEN KAYNAKLAR
  -M. A. Weiss, Data Structures and Algorithm Analysis in C++, Addison Wesley, 2006. -Cormen, Leiserton, Rivest, Introduction to Algorithms, MIT Press, 2001. -Sahni, Data Structures, Algorithms and Applications in C++, McGraw-Hill, 1998. -Horowitz, Sahni, Rajasekaran, Computer Algorithms, Computer Science Press, 1998. -Rıfat Çölkesen, Veri Yapıları ve Algoritmalar, Papatya Yayıncılık 2002.
 -- ÖĞRETİM YÖNTEM VE TEKNİKLERİ
  Anlatım, Soru-Yanıt, Gösterme, Uygulama - Alıştırma
 -- STAJ / UYGULAMA
  -
 -- DEĞERLENDİRME YÖNTEMİ VE GEÇME KRİTERLERİ
 
Sayısı
Toplam Katkısı(%)
 Ara Sınav
1
40
 Ödev
0
0
 Uygulama
0
0
 Projeler
0
0
 Pratik
0
0
 Quiz
0
0
 Yıliçinin Başarıya Oranı (%)  
40
 Finalin Başarıya Oranı (%)  
60
 -- İŞ YÜKÜ
 Etkinlik  Toplam hafta sayısı  Süre (Haftalık Saat)  Dönem boyu toplam iş yükü
 Haftalık teorik ders saati
14
3
42
 Haftalık uygulamalı ders saati
0
 Okuma Faaliyetleri
9
2
18
 İnternette tarama, kütüphane çalışması
10
3
30
 Materyal tasarlama, uygulama
0
 Rapor hazırlama
0
 Sunu hazırlama
0
 Sunum
0
 Ara sınav ve ara sınava hazırlık
1
12
12
 Final sınavı ve final sınavına hazırlık
1
20
20
 Diğer
4
1
4
 TOPLAM İŞ YÜKÜ: 
126
 TOPLAM İŞ YÜKÜ / 25 : 
5.04
 DERSİN AKTS KREDİSİ: 
5
 -- PROGRAM ÖĞRENME ÇIKTILARI KATKI DÜZEYLERİ
NO
PROGRAM ÖĞRENME ÇIKTILARI
1
2
3
4
5
1
Çağdaş, girişimci, kendine güvenen ve bağımsız karar verebilme yetisine sahip, özgün ve estetik değerleri olan bireyler yetiştirilmesi.X
2
Yeterince matematik donanımına sahip olabilmesi için programda yer alan cebir, geometri, uygulamalı matematik, topoloji ve analiz gibi dallarda iyi eğitimin verilmesi.X
3
Matematiksel düşünce yöntemlerinin kavratılarak matematiği sözlü ve yazılı olarak ifade edebilme yeteneğinin geliştirilmesi.X
4
Matematiğin tarihi ve bilimsel bilginin üretimiyle ilgili bilgi sahibi olan ve bu bilim dalındaki gelişmeleri takip edebilen bireylerin yetiştirilmesi.X
5
Finans, ekonometri, aktüarya, eğitim ve bankacılık gibi alanlarda pozisyon alabilmek için gerekli donanımın sağlanması.
6
Çeşitli bilim dallarında ve gerçek hayatta karşılaşılan problemleri matematiksel modelleme ile matematiksel yöntemler yoluyla çözebilme becerisinin kazandırılması.X
7
Matematiğin kullanıldığı alanlarda gerekli kaynak araştırması yapabilme ve erişilen bilgiyi kullanabilme yetisinin sağlanması.X
8
Gelişen bilişim sektöründe yer alabilmek için bilgisayar programlama ve algoritma oluşturma gibi alanlarda gerekli eğitimin verilmesi.
9
Lisansüstü düzeyde çalışma yapabilme altyapısının kazandırılması.X
10
Matematiğin dışındaki bilim alanları ile ilişki kurabilmenin kazandırılması.X