Bu dersin sonunda öğrenciler; 1) Var olan algoritmaları kullanabilme, algoritma tasarlayabilme ve analizini yapabilme yeteneği kazandırmak. 2) Yazılım geliştirmede veri soyutlama ve genelleştirilmiş kodlamalar yapabilme yeteneği kazandırmak. 3) Problemi alt parçalara ayırarak büyük problemleri çözme yeteneği kazandırmak. 4) Karmaşıklık teorisi arkasındaki kavramları öğrenmek ve uygun yazılımlar geliştirebilme yeteneği kazandırmak 5) Disiplinlerarası çalışma becerisi kazandırmak.
DERSİN VERİLİŞ BİÇİMİ
Yüz Yüze
DERSİN ÖNKOŞULLARI
Var( BİL101)
ÖNERİLEN DERSLER
Öğrencinin, daha önce BİL101 ve BİL105 derslerini alarak başarılı olmuş olması tavsiye edilir.
DERS TANIMI
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 İÇERİĞİ
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.
ZORUNLU YA DA ÖNERİLEN KAYNAKLAR
Data Structures with C++ Using STL, 2/E, William H. Ford, William R. Topp, Prentice Hall ISBN-10: 0130858501 ISBN-13: 9780130858504
ÖĞRETİM YÖNTEM VE TEKNİKLERİ
Anlatım,Sunum,Soru-Cevap
DEĞERLENDİRME YÖNTEMİ VE GEÇME KRİTERLERİ
Sayısı
Toplam Katkısı(%)
Ara Sınav
1
30
Mini-Sınav
4
10
Uygulama/Pratik
6
20
Toplam(%)
60
Yıl İçinin Başarıya Oranı(%)
60
Finalin Başarıya Oranı(%)
40
Toplam(%)
100
AKTS İŞ YÜKÜ
Aktivite
Sayı
Süresi(Saat)
İş Yükü
Ara Sınav
1
2
2
Kısa Sınavlara hazırlık
3
10
30
Sınıf Dışı Ders Çalışma Süresi
0
0
0
Final Sınavına Hazırlık
1
40
40
Ders Saati
5
1
5
Ara Sınava Hazırlık
1
30
30
Laboratuvar
6
12
72
Final Sınavı
1
2
2
Ödevler
2
15
30
Toplam İş Yükü
211
Toplam İş Yükü / 30
7,03
Dersin AKTS Kredisi
7
DİL
Türkçe
STAJ / UYGULAMA
Yok
PROGRAM YETERLİLİKLERİ (P) / DERSİN ÖĞRENME KAZANIMLARI (Ö) MATRİSİ