Nesneye Yönelik Tasarım ve Programlama (COMPE 501) Ders Detayları Ders Adı Ders Kodu Dönemi Ders Saati Uygulama Saati Laboratuar Kredi AKTS Saati Nesneye Yönelik Tasarım ve Programlama COMPE 501 Güz 3 0 0 3 7.5 Ön Koşul Ders(ler)i Dersin Dili Dersin Türü Dersin Seviyesi Ders Verilme Şekli Dersin Öğrenme ve Öğretme Teknikleri İngilizce Seçmeli Dersler Fen Bilimleri Yüksek Lisans Yüz Yüze Anlatım Dersin Koordinatörü
Dersin Öğretmen(ler)i Dersin Asistanı Dersin Amacı Dersin Eğitim Çıktıları Bu dersin amacı öğrencilere Nesneye Yönelik Tasarim (NYT) kavramı bilgisinin verilmesidir. Ayrıca, Tümleşik Modelleme Dili (TMD) ve Nesneye Yönelik Programlama (NYP) kavramları, olay güdümlü programlama kavramı, sınıf, nesne ve mesaj iletimi kavramlarının verilmesi amaçlanmaktadır. Bunlara ek olarak, öğrencilerin Nesneye Yönelik Programlama tekniklerini Java programlama dili uygulama becerisini geliştirmeleri hedeflenmektedir. Bu dersi başarıyla tamamlayabilen öğrenciler; Nesneye Yonelik Tasarım (NYT) kavramlarını genel anlamda açıklayabilir Nesneye Yönelik Programlama (NYP) kavramlarını genel anlamda açıklayabilir Sınıf, Çokbiçimlilik, Sarma ve Kalıtım kavramlarını uygulayabilir Olay algılama ve olay güdümlü programlamayı anladığını gösterebilir Nesneye Yönelik Analiz ve Tasarım bilgilerini bir projede kullabilir. Tümleşik Modelleme Dili'ni (TMD) gereksinim analizi, tasarım ve bileşen arayüz tanımlarında kullanabilir Sorumluluk Güdümlü Tasarım (Resposibility Driven Design) kavram ve prensiplerini açıklayabilir Nesneye Yönelik model ve yazılım geliştirme sırasında yapılan genel işleri listeleyebilir Nesneye Yonelik Programlamanın genel yapılanması ve bileşenleri bildiğini gösterebilir
Dersin İçeriği Nesne Yönelimli düşünme. Soyutlama. Nesneye Yönelik Analiz ve tasarım kavramları ve tasarım kalıpları. Tümleşik Modelleme Dili (TMD): giriş, modellemin rolü, modeller ve görünümler, temel diyagramlar, temel elementler (yapısal elementler, Java'dan bağımsız olgular, Java'ya bağımlı olgular). Sıralama, sınıf ve paket diyagramlarına giriş. Geliştirme Yaşamdöngüsü ve TMD (Gereksinim Analizi ve Tasarım, Yapılanma, Test, Uygulama). Yaşamdöngüsi. Java ve TMD : Sorumluluk Güdümlü Tasarım metodu ve CRC kart kullanımı. Sınıflar ve Metodlar. Mesjlaşma, nesne yaratma ve ön değer tanımlama. Kalıtım, alt sınıf ve alt tür. Static and dynamic behavior. Statik ve dinamik davranış. Yerine geçme. Çoklu Kalıtım ve Çokbiçimlilik. Haftalık Konular ve İlgili Ön Hazırlık Çalışmaları HaftaKonular Ön Hazırlık 1 Nesne Yönelimli düşünme Konu 1 (Ders Kitabı) 2 Nesne Yönelimli Programlamın tarihçesine genel bakış Konu 2 3 Nesne Yönelimli Tasarım Konu 3 4 Tümleşik Modelleme Dili (Giriş, elementler ve TMD Diyagramları ) 5 Paradigmayı anlama: Paradigma nedir? ( Programlama Yapıları, Erişim Etkenleri, Yaşamdöngüsü Etkenleri) 6 Paradigmayı anlama : Bir uygulama (Ball Words) (Veri alanları, Yapıldırma Fonksiyonu, Kalıtım, Java Grafik bileşenleri) Diğer Kaynaklar 1 Konu 4 Konu 5
7 Paradigmayı anlama : Bir Uygulama (A Cannon Game) (Dinleyiciler, İç Sınıflar, Arayüzler, Java Olay Modeli, Pencere Görünümü) 8 Paradigmayı anlama : Bir Uygulama (Pinball Game) (Koleksiyonlar, Fare Dinleyicileri, İş Parçacıkları, Eş Zamanlılık Programlaması) 9 Paradigmayı anlama : Bir Uygulama (Pinball Game) (Koleksiyonlar, Fare Dinleyicileri, İş Parçacıkları, Eş Zamanlılık Programlaması) Konu 6 Konu 7 Konu 7 10 Kalıtımı Anlama Konu 8 11 Kalıtım: örnek çalışma (Solitaire) Konu 9 12 Yazılım Bileşeni Yeniden kullanımı mekanizmaları Konu 10 13 Kalıtım kullanmanın sonuçları Konu 11 14 Çokbiçimliliği anlama Konu 12 15 Gözden geçirme 16 Gözden geçirme Kaynaklar Ders Kitabı: Diğer Kaynaklar: 1. Understanding Object Oriented Programming with Java, Updated Edition, T. Budd, Addison-Wesley Longman, 2000, ISBN: 0-201-61273-9. McGraw-Hill, 2006 1. Java Design: Objects, UML, and Process, K.Knoernschild, Addison Wesley 2002, ISBN: 0-201-75044-9 2. Object Oriented Design & Patterns, Cay S. Horstmann, 2nd ed., ISBN 0-471-74487-5
3. Case Studies in Object-Oriented Analysis and Design, Edward Yourdon, Prentice Hall, 1996 4. Robert A. Maksimchuk, Michael W. Engel, Bobbi J. Young, Jim Conallen, and Kelli A. Houston, Addison-Wesley Professional, 2007 Değerlendirme Sistemi Çalışmalar Sayı Katkı Payı Devam/Katılım 1 5 Laboratuar - - Uygulama - - Alan Çalışması - - Derse Özgü Staj - - Küçük Sınavlar/Stüdyo Kritiği - - Ödevler 3 15 Sunum - - Projeler - - Seminer - - Ara Sınavlar/Ara Juri 1 40 Genel Sınav/Final Juri 1 40 Toplam 6 100 Yarıyıl İçi Çalışmalarının Başarı Notu Katkısı 60
Yarıyıl Sonu Çalışmalarının Başarı Notuna Katkısı 40 Toplam 100 Ders Kategorisi Temel Meslek Dersleri Uzmanlık/Alan Dersleri Destek Dersleri İletişim ve Yönetim Becerileri Dersleri Aktarılabilir Beceri Dersleri Dersin Öğrenim Çıktılarının Program Yeterlilikleri ile İlişkisi # Program Yeterlilikleri / Çıktıları Katkı Düzeyi 1 2 3 4 5 1 Matematik, fen bilgisi ve mühendislik bilgilerini uygulama becerisi 2 Deney tasarlama ve yapma ve deney sonuçlarını analiz ederek yorumlama becerisi.
3 Belirlenen gereksinimlere göre bir sistem, bileşen ve işlem tasarımlama becerisi. 4 Disiplinler arası alanlarda iş yapabilme becerisi. 5 Mühendislik problemlerini belirleme, formüle etme ve çözme becerisi. 6 Profesyonel ve meslek etiği sorumluluğunu kavrama. 7 Etkin iletişim kurma becerisi. 8 Yaşam boyu eğitimin bir gereksinim olduğunu tanımak ve aynı zamanda bu eğitime angaje olma becerisi. 9 Çağdaş konular hakkında bilgi sahibi olmak. 10 Mühendislik uygulamaları için gerekli modern mühendislik araçlarını, tekniklerini ve yetenekleri kullanma becerisi. 11 Proje yönetimi becerileri ve uluslar arası standartları ve metodolojileri tanıma. 12 Gerçek hayat problemleri için mühendislik ürünleri ve prototipleri yaratabilme yeteneği. 13 Profesyonel bilgiye katkı yeteneği. 14 Yöntembilimsel bilimsel araştırma yapabilme yeteneği 15 Orijnal ya da var olan bir bilgi kümesi etrafında bir bilimsel yapıt üretme, raporlama ve sunma yeteneği. 16 Üretilen orijinal fikri savunma yeteneği. ECTS/İş Yükü Tablosu Aktiviteler Sayı Süresi (Saat) Toplam İş Yükü Ders saati (Sınav haftası dahildir: 16 x toplam ders saati) 16 3 48
Laboratuar Uygulama Derse Özgü Staj Alan Çalışması Sınıf Dışı Ders Çalışma Süresi Sunum/Seminer Hazırlama Projeler 16 5 80 Ödevler 3 9 27 Küçük Sınavlar/Stüdyo Kritiği Ara Sınavlara/Ara Juriye Hazırlanma Süresi Genel Sınava/Genel Juriye Hazırlanma Süresi 1 30 30 1 40 40 Toplam İş Yükü 225