Fundamentals of Object-Oriented Programming (COMPE 723) Ders Detayları Ders Adı Ders Kodu Dönemi Ders Saati Uygulama Saati Laboratuar Kredi AKTS Saati Fundamentals of Object-Oriented Programming COMPE 723 Güz 3 0 0 3 7.5 Ön Koşul Ders(ler)i COMPE112 Dersin Dili Dersin Türü Dersin Seviyesi Ders Verilme Şekli Dersin Öğrenme ve Öğretme Teknikleri İngilizce Bilimsel Hazırlık 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ı 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 şekillilik 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ı metodolujiyi programlamada kullanmak Veri tipleri. Komutlar ve anlatımlar. Fonksiyon ve kapsam kuralları. Sınıf tanımı. Miras. Çok şekillilik. İ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 1 Nesne Tabanlı programlamaya giriş (UML ile) 2 Nesne Tabanlı programlamaya giriş (UML ile) Ön Hazırlık Bölüm 1 (Ders Kitabı 1) Bölüm 4 (Kaynak Kitap 1) 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ı: Diğer Kaynaklar: 1. Problem Solving with C++, Walter Savitch, Addison-Wesley Publishing, 6th Edition. 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 Değerlendirme Sistemi Çalışmalar Sayı Katkı Payı Devam/Katılım - - Laboratuar - - Uygulama - - Alan Çalışması - - Derse Özgü Staj - - Küçük Sınavlar/Stüdyo Kritiği - - Ödevler 5 15 Sunum - - Projeler - - Seminer - - Ara Sınavlar/Ara Juri 2 50 Genel Sınav/Final Juri 1 35 Toplam 8 100 Yarıyıl İçi Çalışmalarının Başarı Notu Katkısı Yarıyıl Sonu Çalışmalarının Başarı Notuna Katkısı 65 35
Toplam 100 Ders Kategorisi Temel Meslek Dersleri Uzmanlık/Alan Dersleri X 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 İleri düzey hesaplama ve/veya bilişim bilgilerini yazılım mühendisliği problemlerini çözmede uygulama becerisi. 2 Farklı teknolojiler, yazılım mimarileri ve yaşam-döngüsü yaklaşımları kullanarak çözümler geliştirmek. 1 2 3 4 5
3 Bir yazılım sistemini, bileşenini, sürecini veya programını, modern teknikler ve yazılım mühendisliği uygulamalarına yönelik mühendislik araçlarını kullanarak, tasarlama, gerçekleştirme ve değerlendirme becerisi. 4 Yazılım gereksinimlerini anlamak için, veri toplama, analiz etme ve yorumlama becerisi. 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. 6 Bilim ve teknoloji alanındaki güncel gelişmeleri izlemede bilgiye erişim becerisi ve yazılım mühendisliği alanında bilimsel araştırma yapmak ve bir projeyi gerçekleştirmek. 7 Yazılım Mühendisliği ile ilgili profesyonel, hukuksal, sosyal ve sorumluluklar konularında anlayış. 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. 9 Yazılım Mühendisliği çözümlerinin, karar verme boyutunda, küresel, sosyal ve hukuki boyutları üzerindeki etkisini anlamak. 10 Yazılım Mühendisliği uygulamaları için mükemmellik standartlarının geliştirilmesi, benimsenmesi ve sürekli kullanımının desteklenmesi. 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 3 48 Ödevler 5 10 50 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 2 20 40 1 40 40 Toplam İş Yükü 226