Ders Adı Nesne Yönelimli Programlama
Ders Kodu BGV-3102
Dersin Türü Zorunlu
Ders Biriminin Seviyesi Ön Lisans
Yıl 1
Dönem 2.Yarıyıl
AKTS 5
Dersi Veren(ler) Öğr.Gör.Kasım DELİKANLI
Dersin Yardımcıları
Ders İşleme Biçimi Yüz Yüze
Önkoşul Dersleri
Dersin İçeriği 1. Diziler ve dizi listeleri, dizi algoritmaları, Çok boyutlu diziler, Sıralama Algoritmaları 2. Nesneye yönelik programlama ve sınıf kavramı.Nesneye Yönelik Programlamanın Temel İlkeleri ve UML Diyagramları 3. Sınıf (Class) kavramı , static değişkenler ve void metotlar, 4. Sınıf (Class) ve fonksiyonlar 5. Overloading(Aşırı yükleme) 6. Recursive (Özyineli) Methotlar 7. Nesne yapısı ve kavramı 8. Nesne sınıfı ve nesne oluşturma Bellekte yer ayırma, başvuru değişkeni. 9. Constructorlar (Kurucu/Yapıcı) Fonksiyonlar 10. İnheritance ( Kalıtım) 11. Encapsulation (Kapsülleme) 12. Polymorphism (Çok Biçimlilik) 13. GUI'ye giriş ve bileşenleri, 14. Form ekranında Proje geliştirme ve uygulamalar
Dersin Verildiği Diller Türkçe
Dersin Amacı Bu dersin amacı, sözdiziminden (syntax) daha çok problem çözmeye odaklanan ve problem odaklı bir şekilde nesne yönelimli programlamayı (OOP) öğretmektir. Öğrenciler nesne tabanlı düşünme ve tasarımını öğrenir ve algoritmik düşünme becerilerini geliştirirler. OOP tekniklerini belirli bir probleme nasıl ve ne zaman etkili bir şekilde uygulayacaklarını öğrenirler. Ders, Java'daki temel tekniklerin gözden geçirilmesiyle başlar ve ardından nesneler ve sınıflar, nesne odaklı düşünme, kalıtım ve çok biçimlilik, istisna işleme ve metin I/O, soyut sınıflar ve arayüzler, Java GUI temelleri, olay güdümlü programlama ve animasyonlar, Java UI kontrolleri ve multimedya, ikili I/O, özyineleme, jenerikler, listeler, yığınlar, kuyruklar ve öncelik kuyrukları, kümeler ve eşlemeler, listelerin, yığınların, kuyrukların ve öncelik kuyruklarının uygulanması konularını öğretir.
No Dersin Kazanımları  
1 Diziler üzerinde işlemler yapabilecek, algoritmalar geliştirebilecektir.
2 Verilen bir problem için sınıf diyagramları üretebilecek, metod ve fonksiyonlar oluşturabilecektir.
3 Özel fonksiyonları (Yapıcı, Özyineli, Aşırı Yüklemeli) kullanabilecektir.
4 Nesne yönelimli programlama dilinin temel özelliklerini tanımlayabilecektir.
5 Nesne yönelimli tasarım, polimorfizm, bilgi saklaması ve miras kavramlarını tanımlayabilecektir.
6 Nesne yönelimli yazılımı test etme prensiplerini tanımlayabilecektir.
DERSİN KAZANIMLARI / PROGRAM YETERLİKLERİ İLİŞKİ MATRİSİ
DKPY1PY2PY3PY4PY5PY6PY7PY8PY9PY10
1
2
3
4
5
6
5-Çok Yüksek İlişkili 4- Yüksek İlişkili 3-Orta İlişkili 2- Zayıf İlişkili 1-Çok Zayıf İlişkili 0-İlişkisiz
Hafta Konular  
1 Diziler ve dizi listeleri, dizi algoritmaları, Çok boyutlu diziler, Sıralama Algoritmaları
2 Nesneye yönelik programlama ve sınıf kavramı.Nesneye Yönelik Programlamanın Temel İlkeleri ve UML Diyagramları
3 Sınıf (Class) kavramı , static değişkenler ve void metotlar,
4 Sınıf (Class) ve fonksiyonlar
5 Overloading(Aşırı yükleme)
6 Recursive (Özyineli) Methotlar
7 Nesne yapısı ve kavramı
8 Nesne sınıfı ve nesne oluşturma Bellekte yer ayırma, başvuru değişkeni.
9 Constructorlar (Kurucu/Yapıcı) Fonksiyonlar
10 İnheritance ( Kalıtım)
11 Encapsulation (Kapsülleme)
12 Polymorphism (Çok Biçimlilik)
13 GUI'ye giriş ve bileşenleri,
14 Form ekranında Proje geliştirme ve uygulamalar
No Bölüm Öğrenme Çıktısı Katkı Düzeyi
1 İleri düzey hesaplama ve/veya bilişim bilgilerini bilişim problemlerini çözmede uygulama becerisi. 4
2 Farklı teknolojiler, yazılım mimarileri ve yaşam-döngüsü yaklaşımları kullanarak çözümler geliştirmek. 4
3 Bir yazılım sistemini, bileşenini, sürecini veya programını, modern teknikler ve bilişim uygulamalarına yönelik bilişim araçlarını kullanarak, tasarlama, gerçekleştirme ve değerlendirme becerisi. 5
4 Yazılım gereksinimlerini anlamak için, veri toplama, analiz etme ve yorumlama becerisi. 5
5 Yazılım projeleri üzerindeki çalışmalar kapsamında ortaya çıkan problemler üzerinde etkin sözlü ve yazılı iletişim ve kritik düşünme becerileri. 5
6 Bilim ve teknoloji alanındaki güncel gelişmeleri izlemede bilgiye erişim becerisi bilişim alanında bilimsel araştırma yapmak ve bir projeyi gerçekleştirmek. 4
7 Bilişim ile ilgili profesyonel, hukuksal, sosyal ve sorumluluklar konularında anlayış. 2
8 Proje ve risk yönetim becerisi; girişimciliğin, yenilikçilik ve sürdürülebilir kalkınmanın önemi hakkında farkındalık; uluslararası standartların ve yöntemlerin bilinmesi. 2
9 Bilişim çözümlerinin, karar verme boyutunda, küresel, sosyal ve hukuki boyutları üzerindeki etkisini anlamak. 2
10 Bilişim uygulamaları için mükemmellik standartlarının geliştirilmesi, benimsenmesi ve sürekli kullanımının desteklenmesi. 3
Yarıyıl İçi Çalışmaları Sayısı Katkı Payı
Ara Sınav 1 40
Kısa Sınav 0 0
Ödev 7 20
Devam 0 0
Uygulama 7 20
Labaratuvar 0 0
Proje 3 20
Atölye 0 0
Seminer 0 0
Arazi Çalışması 0 0
Sözlü sınav 0 0
Portfolyo 0 0
Doküman İncelemesi 0 0
Performans değerlendirme 0 0
Sunum 0 0
Alan Çalışması 0 0
Vaka Çalışması 0 0
Video Kaydı 0 0
Öz değerlendirme 0 0
Akran Değerlendirme 0 0
Eşleştirme Testleri 0 0
Çoktan seçmeli test 0 0
Kısa Cevaplı test 0 0
Kontrol listeleri 0 0
Dereceleme Ölçekleri 0 0
Zihin Haritalama 0 0
Araştırma yazısı 0 0
Çevrimiçi anket 0 0
Çevrimiçi Kısa sınav 0 0
TOPLAM 0
Yıliçinin Başarıya Oranı 40
Finalin Başarıya Oranı 60
TOPLAM 100
AKTS kredilerinin belirlenmesinde öğrenci işyükü anketlerinden faydalanılmaktadır.
Etkinlik Sayısı Süresi Toplam
Ders Süresi (Sınav Haftaları Hariç) 14 4 56
Sınıf Dışı Ders Çalışma Süresi 14 3 42
Ödevler 7 3 21
Sunum 0 0 0
Proje 0 0 0
Laboratuar Çalışması 0 0 0
Arazi ya da Alan Çalışması 0 0 0
Ara Sınavlar 1 10 10
Yarıyıl Sonu Sınavı 1 10 10
İşyükü Saati (30) 30
Toplam İşyükü / Saat 139    
Dersin Akts Kredisi 5    
Ders Notu [1]Java ile Temel Programlama, Bora Güngören, Seçkin Yayıncılık Nisan 2008, [2]Java Uygulamaları, Murat İnan, Altaş Yayıncılık 2010, [3]Java Programlama Dili ve Yazılım Tasarımı,Altuğ B. Altıntaş,Papatya Yayıncılı 2010, [4]Java Programlama Teknikleri ,Bora Güngören, Seçkin Yayıncılık 2006
Diğer Kaynaklar [1]Java ile Temel Programlama, Bora Güngören, Seçkin Yayıncılık Nisan 2008, [2]Java Uygulamaları, Murat İnan, Altaş Yayıncılık 2010, [3]Java Programlama Dili ve Yazılım Tasarımı,Altuğ B. Altıntaş,Papatya Yayıncılı 2010, [4]Java Programlama Teknikleri ,Bora Güngören, Seçkin Yayıncılık 2006
Materyal
Dökümanlar [1]Java ile Temel Programlama, Bora Güngören, Seçkin Yayıncılık Nisan 2008, [2]Java Uygulamaları, Murat İnan, Altaş Yayıncılık 2010, [3]Java Programlama Dili ve Yazılım Tasarımı,Altuğ B. Altıntaş,Papatya Yayıncılı 2010, [4]Java Programlama Teknikleri ,Bora Güngören, Seçkin Yayıncılık 2006
Ödevler
Sınavlar
Materyal Diğer
Planlanmış Öğrenme Faaliyetleri ve Öğretim Yöntemleri