PROGRAMI
DERS TANITIM VE UYGULAMA BİLGİLERİ

Ders AdıKoduVerildiği YılVerildiği YarıyılSüresi (T+U)Yerel KredisiAKTS Kredisi
İleri Nesne-Yönelimli ProgramlamaCENG 5223 + 037,50
 
Ders Bilgileri
Dersin Öğretim Diliİngilizce
Dersin SeviyesiYüksek Lisans
Dersin TürüSeçmeli
Dersin Veriliş BiçimiYüz Yüze
 
Dersin Öğrenme Kazanımları:

Bu dersi başarı ile tamamlayan öğrenciler:
1. Students will be expected to apply knowledge of the software development cycle to write programs using the object oriented programming paradigm.
2. Students will become comfortable at designing and implementing classes as well as creating and manipulating objects belonging to those classes. Students will also become familiar with advanced topics such as reflection and the use of GoF design patterns.
3. Students will learn how to take advantage of inheritance, abstraction and encapsulation so as generate more readable and maintainable code suitable for large software projects.
4. Students will learn to develop hierarchies of related classes. They will design and implement super classes and interfaces that use common field/method names but have base class dependent implementations. Students will learn the principles of code-refactoring and efficient code reuse.
5. Students will learn to design, implement, and use generic classes and methods. Students will learn about the limitations of generic programming, i.e. type erasure. Students will also learn how to throw and handle exceptions for dealing with exceptional situations and errors. Students will design custom exception types.
6. Students will use the Unified Modeling Language to model the static and dynamic behavior of object oriented software.
7. Students will learn advanced creational, structural and behavioral design patterns.
 
Dersin Önkoşulları ve Birlikte Alınması Gereken DerslerYok
Daha Önce Alınmış Olması Önerilen DerslerYok
 
Dersin Tanımı:

This course investigates object-oriented methods including object-oriented programming, analysis and design. Current methodology is emphasized. The use of object-oriented features such as encapsulation, information hiding, inheritance and polymorphism is explained.
 
Dersin İçeriği (Haftalık Konu Dağılımı):
 
HaftaKonu
1OOP'e Giriş
2Java'ya Giriş
3Nesneler, Sınıflar ve UML
4Nesneler, Sınıflar ve UML
5Soyutlama ve Kapsülleme
6Kalıtım ve Çok Biçimlilik
7Ara Sınav
8Tasarım Kalıpları: Yaratımsal Kalıplar
9Tasarım Kalıpları: Yaratımsal Kalıplar
10Tasarım Kalıpları: Yapısal Kalıplar
11Tasarım Kalıpları: Yapısal Kalıplar
12Tasarım Kalıpları: Davranışsal Kalıplar
13Tasarım Kalıpları: Davranışsal Kalıplar
14SOLID Prensipleri
15
 
Kaynaklar:
Horstman, Cay. Big Java Early Objects 6th Edition. New York: John Wiley & Sons, Inc. (4rd and 5th Editions are also acceptable)
 
Diğer Kaynaklar:
Horstman, Cay. Object Oriented Design & Patterns 2nd Edition. New York: John Wiley & Sons. Freeman, Eric. Head First Design Patterns, 2nd Edition
 
Öğretim Yöntem ve Teknikleri:
PowerPoint lectures will be posted weekly. Students are encouraged to use the online discussion forum to post any questions about the material.
 
Değerlendirme Sistemi:
YöntemAdetKatkı (%)
Ara sınav1%50
Final Sınavı1%50
 
Ders İşbaşı Eğitimi (iş yerinde eğitim) Gerektiriyor mu?
Gerektirmiyor