DERS TANITIM ve UYGULAMA BİLGİLERİ

Dersin Adı Kodu Yarıyıl T+U+L (saat/hafta) Türü (Z / S) Yerel Kredi AKTS
Nesneye Yönelik Programlama II BP 251 Bahar 02+00+01 Zorunlu 3 5
Akademik Birim:
Öğrenim Türü: Örgün eğitim
Ön Koşullar Yok
Öğrenim Dili: Türkçe
Dersin Düzeyi: Seviye Belirtilmemiş
Dersin Koordinatörü: Mesut ÇEVİK
Dersin Amacı: Nesneye yönelik programlama yönteminin ileri kavramlarını ve özelliklerini öğretmek. Bu yöntemlerin iyi bir program yazmak için etkin bir biçimde nasıl kullanılacağını Java programlama dili ile göstermek.
Dersin İçeriği: Bu ders BP104’ün bir devamıdır. BP104, kontrol konuları (döngüler, koşullu ifadeler, metotlar, parametre geçişi, vb) üzerine odaklanırken, BP251 veri konuları üzerine odaklanır. Bazı konular şunlardır: Dosya işleme, diziler ve dizi listesi, yineleyiciler, eylem dinleyicileri, İnteraktörler, bileşen dinleyicileri, veri yapısı tasarımı. Ders aynı zamanda sıralama ve arama gibi klasik algoritmaları ve listeler gibi klasik veri yapılarını incelerken karmaşıklık ve performans ödünleşmesini tanıtır. Ders, veri yapısı uygulaması ve Java Collections Framework’ten gelen bileşenleri kullanan bir karışım içerir.
Dersin Öğrenme Çıktıları (ÖÇ):
  • 1- Nesneye yönelik programlamanın temellerini anlayabilmeli.
  • 2- Soyutlama ve arayüzleri kullanarak daha büyük sorunlara nesneye yönelik çözümler tasarlayabilmeli.
  • 3- Kalıtım kullanarak kodu uygun bir şekilde yeniden kullanabilmeli.
  • 4- Nesneye yönelik programlama sisteminde sınıfların tasarımıyla ilgili sorunları anlayabilmeli.
  • 5- İyi tasarlanmış Nesneye Yönelik programlar ile kötü tasarlanmış Nesneye Yönelik programlar arasında ayrım yapabilmeli.
  • 6- Sınıf tasarımlarında en yaygın tasarım şablonlarının farkında olabilmeli ve en uygununu kullanabilmeli.
  • 7- En yaygın algoritma tasarım yöntemlerini ve bunların güçlü ve zayıf yönlerini anlayabilmeli.
  • 8- Ne zaman mevcut algoritmaları seçip kullanmak , ne zaman yeni algoritmalar tasarlamak gerektiğini anlayabilmeli.
  • 9- Bir dizi sorunu çözebilmek için makul algoritmaları tasarlayabilmeli.
  • 10- Bir stil rehberini takip edebilme ve etkili kod gözden geçirme yapabilmeli.
  • 11- Ekip çalışması yapabilmeli.
  • 12- Bir Tümleşik Geliştirme Ortamı ( Integrated Development Environment) kullanabilmeli.
  • 13- Java'da program yazabilmeli.
Dersin Öğrenme Yöntem ve Teknikleri Anlatım, soru – cevap, tartışma, uygulama


HAFTALIK PROGRAM

HaftaKonularÖn Hazırlık
1 Nesneler ve hafıza, Daha fazla parametre geçirme Önerilen metinlerin okunması
2 Dosya işleme İstisnalar Önerilen metinlerin okunması
3 Diziler ve dizi listesi Önerilen metinlerin okunması
4 Diziler ve dizi listesi (devam) Önerilen metinlerin okunması
5 Hata ayıklama stratejileri Önerilen metinlerin okunması
6 Java koleksiyonları çerçevesi, Hashmap sınıfı Önerilen metinlerin okunması
7 Yineleyiciler Nesneye yönelik tasarım Önerilen metinlerin okunması
8 Swing İnteraktörleri JComponent hiyerarşisi, Eylem dinleyicileri Önerilen metinlerin okunması
9 Grafik kullanıcı arayüzleri İnteraktörler Önerilen metinlerin okunması
10 Bileşen dinleyicileri Veri tabanı tasarımı Önerilen metinlerin okunması
11 Sıralama ve arama Algoritmik analiz Önerilen metinlerin okunması
12 Büyük programlama Yazılım mühendisliği Önerilen metinlerin okunması
13 Standard Java main metodu Önerilen metinlerin okunması
14 Sosyal ağlar Ek konular Önerilen metinlerin okunması


ZORUNLU ve ÖNERİLEN OKUMALAR

“JAVA UYGULAMALARI ”
Murat İnan
Altas Yayıncılık ve Elektronik
http://www.altaskitap.com/java/java.htm


DİĞER KAYNAKLAR

“THE ART AND SCIENCE OF JAVA”
Eric S. ROBERTS Addision-Wesley, 2008



DEĞERLENDİRME SİSTEMİ

Yarıyıl İçi ÇalışmalarıSayıKatkı Payı (%)
Ara Sınavlar/Sözlü Sınavlar/Kısa Sınavlar 1 40
Final Sınavı 1 60
Total: 2 100


İŞ YÜKÜ HESAPLAMASI

EtkinliklerSayısıSüresi (saat)Toplam İş Yükü (saat)
Ders Saati14456
Ödev515
Dersle İlgili Sınıf Dışı Etkinlikler14228
Ara Sınavlar/Sözlü Sınavlar/Kısa Sınavlar11616
Final Sınavı12020
Toplam İş Yükü (saat):125


PROGRAM YETERLİLİKLERİ (PY) ve ÖĞRENME ÇIKTILARI (ÖÇ) İLİŞKİSİ

# PY1 PY2 PY3 PY4 PY5 PY6 PY7 PY8 PY9 PY10 PY11 PY12 PY13
OC1   3 3 3 3                
OC2   3 3 3 3                
OC3   3 3 3 3                
OC4   3 3 3 3                
OC5   3 3 3 3                
OC6   3 3 3 3                
OC7   3 3 3 3                
OC8   3 3 3 3                
OC9   3 3 3 3                
OC10   3 3 3 3                
OC11           2 3            
OC12   3 3 3 3                
OC13   3 3 3 3