Ders Adı | Kodu | Verildiği Yıl | Verildiği Yarıyıl | Süresi (T+U) | Yerel Kredisi | AKTS Kredisi |
İleri Nesne-Yönelimli Programlama | CENG 522 | | | 3 + 0 | 3 | 7,50 |
|
Ders Bilgileri |
Dersin Öğretim Dili | İngilizce |
Dersin Seviyesi | Yüksek Lisans |
Dersin Türü | Seçmeli |
Dersin Veriliş Biçimi | Yü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 Dersler | Yok |
Daha Önce Alınmış Olması Önerilen Dersler | Yok |
|
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ı): |
|
Hafta | Konu |
1 | OOP'e Giriş |
2 | Java'ya Giriş |
3 | Nesneler, Sınıflar ve UML |
4 | Nesneler, Sınıflar ve UML |
5 | Soyutlama ve Kapsülleme |
6 | Kalıtım ve Çok Biçimlilik |
7 | Ara Sınav |
8 | Tasarım Kalıpları: Yaratımsal Kalıplar |
9 | Tasarım Kalıpları: Yaratımsal Kalıplar |
10 | Tasarım Kalıpları: Yapısal Kalıplar |
11 | Tasarım Kalıpları: Yapısal Kalıplar |
12 | Tasarım Kalıpları: Davranışsal Kalıplar |
13 | Tasarım Kalıpları: Davranışsal Kalıplar |
14 | SOLID 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öntem | Adet | Katkı (%) |
Ara sınav | 1 | %50 |
Final Sınavı | 1 | %50 |
|
Ders İşbaşı Eğitimi (iş yerinde eğitim) Gerektiriyor mu? |
Gerektirmiyor |