Ders Adı Nesne Yönelimli Programlama
Ders Kodu IAT-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İ
DKPY1PY2PY3PY4PY5PY6PY7PY8
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 Genel veya mesleki orta öğretimde kazanılan yeterlilikler üzerine kurulan ve orta öğretim düzeyi üzerindeki dersler-uygulama araç ve gereçleri ile desteklenen bir alandaki bilgi ve becerilere sahip olur ve o alandaki temel kavramları kavradığını gösterir 4
2 Bilgisayar Ağları ve İnternet programcılığı alanında tanımı iyi yapılmış problemlerin çözümü için gerekli olan verileri tanımlama, toplama ve kullanmayı etkin bir biçimde yapar; pratik uygulamalarda gereken teorik bilgileri, el ve/veya düşünsel becerileri kullanabildiğini gösterir 4
3 Bilgisayar Ağları ve İnternet programcılığı alanı ile ilgili tasarımları ve uygulamaları çalışma arkadaşlarına, üstlerine ve hizmet verdiği kişi ve gruplara açık bir biçimde anlatabilir; takım çalışması yapabilir 5
4 Bilgisayar Ağları ve İnternet programcılığı alanında bağımsız olarak öğrenmeyi ve öğrendiklerini uygulayabildiğini gösterir 5
5 Bilgisayar Ağları ve İnternet programcılığı ile ilgili çalışmalarda öngörülmeyen durumlarla ilgili sorunları belirleme ve çözüm arama yeteneğini kazandığını gösterir 5
6 Sorumluluğu altında çalışanların performanslarını objektif olarak değerlendirebilir ve denetleyebilir 4
7 Alanında yeterli olacak düzeyde yabancı dil bilgisine sahip olur 2
8 Mesleğinin gerektirdiği yazılım ve donanımları kullanabilir 2
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