Nesne Tabanlı Programlama (COMPE 225) Ders Detayları Ders Adı Ders Kodu Dönemi Ders Saati Uygulama Saati Laboratuar Kredi AKTS Saati Nesne Tabanlı Programlama COMPE 225 Güz 3 2 0 4 5.5 Ön Koşul Ders(ler)i COMPE114 Dersin Dili Dersin Türü Dersin Seviyesi Ders Verilme Şekli Dersin Öğrenme ve Öğretme Teknikleri İngilizce Zorunlu Bölüm Dersleri Lisans Yüz Yüze Anlatım Dersin Koordinatörü
Dersin Öğretmen(ler)i Dersin Asistanı Dersin Amacı Dersin Eğitim Çıktıları Dersin İçeriği Bu ders sınıf objelerinin özellik ve davranışlarıyla nasıl soyutlanacağını öğretir. Öğrenciler, gerçek dünya objelerinin nasıl programlanacağını kavrayarak nesne tabanlı programlama bileşenlerinden sarma, miras ve çok şekillilik konseptlerini UML ve C++ kullanarak uygularlar. Bu dersi başarıyla tamamlayabilen öğrenciler; Gerçek dünyayı modelleyen programlama metodunu UML de kullanarak açıklamak Sarma, miras ve çok biçimlilik konseptlerini uygulamak Fonksiyon ve operatör üstüne yazmasını kullanmak Kural dışı durum işlemeyi kullanmak Fonksiyon ve sınıf şablonlarını uygulamak Nesne tabanlı metodolojiyi programlamada kullanmak Veri tipleri. İfadeler ve Komutlar. Fonksiyon ve kapsam kuralları. Sınıf tanımı. Miras. Çok biçimlilik. İsim yüklemesi. Şablonlar. Kural dışı durum işleme. Girdi/Çıktı. Nesne tabanlı kavramlar UML ve C++ dili kullanılarak tanıtılır. Haftalık Konular ve İlgili Ön Hazırlık Çalışmaları HaftaKonular Ön Hazırlık 1 Nesne Tabanlı programlamaya giriş (UML ile) Bölüm 1 (Ders Kitabı 1) Bölüm 4 (Kaynak Kitap 1) 2 Nesne Tabanlı Yaklaşım ve UML Bölüm 5, 12 (Kaynak Kitap 1)
3 C'den C++'a geçiş Bölüm 2,4 (Ders Kitabı 1) 4 Sınıflar ve veri soyutlama Bölüm 10 (Ders Kitabı 1) 5 Sınıflar ve veri soyutlama Bölüm 10 (Ders Kitabı 1) 6 Operator yüklemesi Bölüm 11 (Ders Kitabı 1) 7 Miras Bölüm 15 (Ders Kitabı 1) 8 Miras Bölüm 15 (Ders Kitabı 1) 9 Sanal fonksiyonlar ve çok şekillilik Bölüm 15 (Ders Kitabı 1) 10 Sanal fonksiyonlar ve çok şekillilik Bölüm 15 (Ders Kitabı 1) 11 Girdi/Çıktı Bölüm 6 (Ders Kitabı 1) 12 Şablonlar Bölüm 17 (Ders Kitabı 1) 13 Kural dışı durum işleme Bölüm 16 (Ders Kitabı 1) 14 Dosya işleme Bölüm 16 (Ders Kitabı 1) 15 Gözden geçirme 16 Gözden geçirme Kaynaklar Ders Kitabı: 1. Problem Solving with C++, Walter Savitch, Addison-Wesley Publishing, 6th Edition. Diğer Kaynaklar: 1. C++: How To Program, H.M. Deitel and P.J. Deitel,Prentice-Hall, 6th Edition. 2. C++ Programming: From Problem Analysis to Program Design, D.S. Malik, Course Technology, 4th Edition. 3. A Complete Guide to Programming in C++,Ulla Kirch-Prinz, Peter Prinz, Jones and Bartlett Publishers,1st Edition. 4. The C++ Programming Language, B.Stroustrup, Addison-Wesley 3rd Edition.
5. Practical C++ Programming, S. Oualline, O'Reilly Media, Inc.;, 2nd Edition 6. Object Oriented Systems Analysis and Design using UML, Bennett, McRobb & Farmer, 4th Ed., McGraw Hill, 2010 Değerlendirme Sistemi Çalışmalar Sayı Katkı Payı Devam/Katılım - - Laboratuar 12 15 Uygulama - - Alan Çalışması - - Derse Özgü Staj - - Küçük Sınavlar/Stüdyo Kritiği - - Ödevler - - Sunum - - Projeler - - Seminer - - Ara Sınavlar/Ara Juri 2 50 Genel Sınav/Final Juri 1 35 Toplam 15 100 Yarıyıl İçi Çalışmalarının Başarı Notu Katkısı 65
Yarıyıl Sonu Çalışmalarının Başarı Notuna Katkısı 35 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 bilimleri ve hesaplama alanlarındaki bilgi birikimini bilgisayar mühendisliği problemlerinin çözümüne uygulama becerisi.
2 Bilgisayar sistemlerine özgü sorunları analiz etme ve modelleme, çözümleri için uygun gereksinimleri belirleme ve tanımlama becerisi. 3 Belirlenen gereksinimleri karşılayacak bir bilgisayar sistemini, sistem parçasını, işlemi veya programı tasarlama, geliştirme ve değerlendirme becerisi. 4 Bilgisayar sistemleri mühendislik uygulamaları için modern teknik ve mühendislik araçlarını kullanma becerisi. 5 Hesaplama ihtiyaçlarını anlamak için deney tasarlama, veri toplama, analiz etme, yorumlama ve doğru seçimler yapabilme becerisi. 6 Disiplin içi ve disiplinler arası takımlarda veya bireysel olarak etkin biçimde çalışabilmek için gerekli organizasyonel ve iş yeteneklerini ortaya koyabilme becerisi. 7 Türkçe ve İngilizce dillerinde etkin iletişim kurabilme becerisi. 8 Yaşam boyu öğrenmenin gerekliliği bilinci ve bilgiye erişebilme, bilim ve teknolojideki son gelişmeleri takip edebilme ve kendini sürekli yenileme becerisi. 9 Bilgisayar Mühendisliği alanında mesleki, hukuksal, etik ve sosyal sorunlar hakkında farkındalık ve sorumluluk bilinci. 10 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. 11 Karar alırken, Bilgisayar Mühendisliği uygulamalarının evrensel, çevresel, sosyal ve hukuksal sonuçları konusunda farkındalık. 12 Sayısal hesaplama ve sayısal gösterim sistemlerini analiz, tasarım ve ifade becerisi. 13 Hesaplama problemlerinin çözülmesinde programlama dillerini ve uygun bilgisayar mühendisliği kavramlarını kullanma becerisi.
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 12 2 24 Uygulama Derse Özgü Staj Alan Çalışması Sınıf Dışı Ders Çalışma Süresi Sunum/Seminer Hazırlama Projeler Ödevler 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 16 3 48 2 15 30 1 15 15 Toplam İş Yükü 165