| Ders Adı | Kodu | Yarıyıl | T+U Saat | Kredi | AKTS | 
|---|---|---|---|---|---|
| Nesneye Dayalı Programlama | BSM 102 | 2 | 4 + 0 | 4 | 6 | 
| Ön Koşul Dersleri | |
| Önerilen Seçmeli Dersler | |
| Dersin Dili | Türkçe | 
| Dersin Seviyesi | Lisans | 
| Dersin Türü | Zorunlu | 
| Dersin Koordinatörü | Prof.Dr. CEMİL ÖZ | 
| Dersi Verenler | Prof.Dr. ÜMİT KOCABIÇAK, Dr.Öğr.Üyesi CAN YÜZKOLLAR, Prof.Dr. CEMİL ÖZ, | 
| Dersin Yardımcıları | Nurbanu Oğur, Özgür Çiftci  | 
                                
| Dersin Kategorisi | Diğer | 
| Dersin Amacı | Bu dersin amacı, etkili ve esnek nesne yönelimli yazılımlar geliştirmek için gereken nesneye yönelik programlama kavramlarını öğretmektir.  | 
                                
| Dersin İçeriği | C++, nesne ve sınıf kavramı, kurucular ve yıkıcılar, kalıtım, çoklu kalıtım, UML, operatör aşırı yükleme, çok biçimlilik, fonksiyon aşırı yükleme ve fonksiyon ezmesi, Grafik Kullanıcı Arayüzü Tasarımı, Dosyalar, Kütüphane kullanımı  | 
                                
| # | Ders Öğrenme Çıktıları | Öğretim Yöntemleri | Ölçme Yöntemleri | 
|---|---|---|---|
| 1 | C# programlama dilinin temellerini bilir, | Anlatım, Alıştırma ve Uygulama, Proje Temelli Öğrenme , | Sınav, Ödev, | 
| 2 | Windows Formlarını kullanır, | Anlatım, Alıştırma ve Uygulama, Proje Temelli Öğrenme , | Ödev, Sınav, | 
| 3 | Nesneye Dayalı Programlama ile yordamsal programlama arasındaki farklarını yorumlar. | Anlatım, Soru-Cevap, | Sınav, Ödev, | 
| 4 | Sınıf ve sınıfları oluşturan yapılarını bilir. | Anlatım, Soru-Cevap, | Sınav, Ödev, | 
| 5 | Kalıtım, çokbiçimlilik ve sarmalama konularını açıklar | Anlatım, Soru-Cevap, Alıştırma ve Uygulama, | Sınav, Ödev, | 
| 6 | Özgür sınıf ve arayüz arasındaki farkları tanımlar | Anlatım, Soru-Cevap, | Sınav, Ödev, | 
| 7 | Static sınıf, metot ve değişkenleri analiz eder. | Anlatım, Soru-Cevap, | Sınav, Ödev, | 
| 8 | Nesneye Dayalı Programlama prensiplerini bilir. | Anlatım, Soru-Cevap, | Sınav, Ödev, | 
| 9 | UML´de sınıf ve kullanıcı diyagramlarını çizer. | Anlatım, Soru-Cevap, Alıştırma ve Uygulama, | Sınav, Ödev, | 
| 10 | Jenerikler ve koleksiyonları bilir. | Anlatım, Soru-Cevap, | Sınav, Ödev, | 
| Hafta | Ders Konuları | Ön Hazırlık | 
|---|---|---|
| 1 | C#´a Genel Bakış, Kontrol deyimleri, Metotlar, Diziler | |
| 2 | Windows Formlarıyla Grafik Kullanıcı Arayüz Tasarımı | |
| 3 | WPF ile Grafik Kullanıcı Arayüz Tasarımı | |
| 4 | İstisna Yönetimi, LINQ, Jenerikler, Koleksiyonlar | |
| 5 | Nesneye Dayalı Programlama nedir? | |
| 6 | Sınıflar, Erişim Denetleyicileri, Alan ve Metotlar | |
| 7 | Kalıtım, Çoklu Kalıtım ve Arayüzler | |
| 8 | Çokbiçimlilik ve Sarmalama | |
| 9 | Özgür Sınıflar ve Arayüzler | |
| 10 | UML, UML Class Diyagramları, UML Kullanıcı Diyagramları | |
| 11 | Static metotlar, sınıflar | |
| 12 | Nesneye Dayalı Programlama Prensipleri | |
| 13 | Nesneye Dayalı Programlama Prensipleri | |
| 14 | Genel Örnekler | 
| Kaynaklar | |
|---|---|
| Ders Notu | Ü. Kocabıçak, C# Ders Notları, 2009, Sakarya.  | 
                                
| Ders Kaynakları | 1.P.J. Deitel, H.M.Deitel, Visual C# 2008 How to Program, Third edition, Prentice Hall, 2009.  | 
                                
| Sıra | Program Çıktıları | Katkı Düzeyi | |||||
|---|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | |||
| 1 | Matematik, fen bilimleri ve ilgili mühendislik disiplinine özgü konularda yeterli bilgi birikimi; bu alanlardaki kuramsal ve uygulamalı bilgileri, karmaşık mühendislik problemlerinde kullanabilme becerisi. | X | |||||
| 2 | Karmaşık mühendislik problemlerini saptama, tanımlama, formüle etme ve çözme becerisi; bu amaçla uygun analiz ve modelleme yöntemlerini seçme ve uygulama becerisi. | X | |||||
| 3 | Mühendislik uygulamalarında karşılaşılan karmaşık problemlerin analizi ve çözümü için gerekli olan modern teknik ve araçları geliştirme, seçme ve kullanma becerisi; bilişim teknolojilerini etkin bir şekilde kullanma becerisi. | X | |||||
| 4 | Karmaşık bir sistemi, süreci, cihazı veya ürünü gerçekçi kısıtlar ve koşullar altında, belirli gereksinimleri karşılayacak şekilde tasarlama becerisi; bu amaçla modern tasarım yöntemlerini uygulama becerisi. | X | |||||
| 5 | Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi için deney tasarlama, deney yapma, veri toplama, sonuçları analiz etme ve yorumlama becerisi. | X | |||||
| 6 | Bilişim Teknolojilerinin yönetim, denetim, gelişim ve güvenliği/güvenilirliği hakkında bilgi sahibi olma ve farkındalık, | X | |||||
| 7 | Disiplin içi ve çok disiplinli takımlarda etkin biçimde çalışabilme becerisi; bireysel çalışma becerisi. | X | |||||
| 8 | Türkçe sözlü ve yazılı etkin iletişim kurma becerisi; en az bir yabancı dil bilgisi; etkin rapor yazma ve yazılı raporları anlama, tasarım ve üretim raporları hazırlayabilme, etkin sunum yapabilme, açık ve anlaşılır talimat verme ve alma becerisi. | X | |||||
| 9 | Yaşam boyu öğrenmenin gerekliliği bilinci; bilgiye erişebilme, bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisi. | X | |||||
| 10 | Etik ilkelerine uygun davranma, mesleki ve etik sorumluluk bilinci; mühendislik uygulamalarında kullanılan standartlar hakkında bilgi. | ||||||
| 11 | Proje yönetimi, risk yönetimi ve değişiklik yönetimi gibi, iş hayatındaki uygulamalar hakkında bilgi; girişimcilik, yenilikçilik hakkında farkındalık; sürdürülebilir kalkınma hakkında bilgi. | ||||||
| 12 | Mühendislik uygulamalarının evrensel ve toplumsal boyutlarda sağlık, çevre ve güvenlik üzerindeki etkileri ve çağın mühendislik alanına yansıyan sorunları hakkında bilgi; mühendislik çözümlerinin hukuksal sonuçları konusunda farkındalık. | X | |||||
| # | Ders Öğrenme Çıktılarının Program Çıktılarına Katkısı | PÇ 1 | PÇ 2 | PÇ 3 | PÇ 4 | PÇ 5 | PÇ 6 | PÇ 7 | PÇ 8 | PÇ 9 | PÇ 10 | PÇ 11 | PÇ 12 | 
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | C# programlama dilinin temellerini bilir, | ||||||||||||
| 2 | Windows Formlarını kullanır, | ||||||||||||
| 3 | Nesneye Dayalı Programlama ile yordamsal programlama arasındaki farklarını yorumlar. | ||||||||||||
| 4 | Sınıf ve sınıfları oluşturan yapılarını bilir. | ||||||||||||
| 5 | Kalıtım, çokbiçimlilik ve sarmalama konularını açıklar | ||||||||||||
| 6 | Özgür sınıf ve arayüz arasındaki farkları tanımlar | ||||||||||||
| 7 | Static sınıf, metot ve değişkenleri analiz eder. | ||||||||||||
| 8 | Nesneye Dayalı Programlama prensiplerini bilir. | ||||||||||||
| 9 | UML´de sınıf ve kullanıcı diyagramlarını çizer. | ||||||||||||
| 10 | Jenerikler ve koleksiyonları bilir. | 
| Değerlendirme Sistemi | |
|---|---|
| Yarıyıl Çalışmaları | Katkı Oranı | 
| 1. Ödev | 10 | 
| 2. Ödev | 10 | 
| 3. Ödev | 10 | 
| 1. Proje / Tasarım | 70 | 
| Toplam | 100 | 
| 1. Yıl İçinin Başarıya | 55 | 
| 1. Final | 45 | 
| Toplam | 100 | 
| AKTS - İş Yükü Etkinlik | Sayı | Süre (Saat) | Toplam İş Yükü (Saat) | 
|---|---|---|---|
| Ders Süresi (Sınav haftası dahildir: 16x toplam ders saati) | 16 | 4 | 64 | 
| Sınıf Dışı Ders Çalışma Süresi(Ön çalışma, pekiştirme) | 16 | 2 | 32 | 
| Ara Sınav | 1 | 10 | 10 | 
| Ödev | 3 | 10 | 30 | 
| Final | 1 | 15 | 15 | 
| Toplam İş Yükü | 151 | ||
| Toplam İş Yükü / 25 (Saat) | 6,04 | ||
| dersAKTSKredisi | 6 | ||