Var olan algoritmaları kullanabilme, algoritma tasarlayabilme ve analizini yapabilme yeteneği kazandırmak.
Yazılım geliştirmede veri soyutlama ve genelleştirilmiş kodlamalar yapabilme yeteneği kazandırmak.
Problemi alt parçalara ayırarak büyük problemleri çözme yeteneği kazandırmak.
Karmaşıklık teorisi arkasındaki kavramları öğrenmek ve uygun yazılımlar geliştirebilme yeteneği kazandırmak
Disiplinlerarası çalışma becerisi kazandırmak.
Veriliş Biçimi
Yüz Yüze
Önkoşullar
Var( BİL101)
Önerilen Dersler
Öğrencinin, daha önce BİL101 ve BİL105 derslerini alarak başarılı olmuş olması tavsiye edilir.
Ders Tanımı
EEM120 dersinde şu konular işlenir;
Var olan algoritmaları kullanabilme, algoritma tasarlayabilme ve analizi
Yazılım geliştirmede veri soyutlama ve genelleştirilmiş kodlamalar
Problemi alt parçalara ayırarak büyük problemleri çözme
Karmaşıklık teorisi arkasındaki kavramları öğrenmek ve uygun yazılımlar geliştirebilme
Ders İçeriği
HAFTA
KONULAR
1. Hafta
Giriş, genel tekrar, çift boyutlu diziler
2. Hafta
Sınıflar, temel veri türleri, soyut veri türleri ADT
3. Hafta
Göstericiler(Pointers) 1. Laboratuar çalışması.
4. Hafta
Dizgiler(Strings), dönüşümler, fonksiyonlar.
5. Hafta
Parametre geçiş yöntemleri, Makrolar ve Komut satırı argümanları.
6. Hafta
Yapı(struct), ilk değer atamaları, üyelere erişimler, öz yineli fonksiyonlar
7. Hafta
Bit bazında işlemler 2. Laboratuar çalışması
8. Hafta
ARASINAV
9. Hafta
Liste yapılarına giriş. İteratörlerin tanımlanması ve liste veri yapısı ile beraber kullanımı. Örnekler. 3. Laboratuar çalışması.
10. Hafta
Yığıt veri yapısı. Yığıt sınıfı, üye fonksiyonları. Yığıtların çalışma ve kullanım şekilleri. Yığıt benzetimi örnek uygulamaları ve yığıt sınıfları ile yapılan örnekler.
11. Hafta
Kuyruk veri yapısına giriş. Kuyruk sınıfı, üye fonksiyonları. Çalışma ve kullanım şekilleri. Kuyruk benzetimi örnekleri ve kuyruk sınıfları ile yapılan örnekler. 4. Laboratuar çalışması.
12. Hafta
Öncelikli kuyruklar. Öncelikli kuyrukların çalışma şekilleri. Üye fonksiyonları. Radix Sıralama algoritması. Örnek uygulamalar.
13. Hafta
Dinamik veri yapıları. Bağlı listelere giriş. Oluşturma, arama, sıralama, ekleme işlemleri. Çift Bağlı listeler. Dairesel listeler. Çift bağlı dairesel listeler. Örnekler. 5. Laboratuar çalışması
14. Hafta
Ağaçlar. İkili arama ağaçları. Ağaç oluşturma, ağaçtan veri silme ve ağaca veri ekleme algoritmaları. Ağaçlarda gezinme yöntemleri.
Kaynaklar
Data Structures with C++ Using STL, 2/E, William H. Ford, William R. Topp, Prentice Hall ISBN-10: 0130858501 ISBN-13: 9780130858504