Dersin Amacı | Öğrencilere nesneye yönelik programlama kavramlarını öğreterek, yazılım geliştirme sürecini daha etkin ve düzenli hale getirmelerini sağlamak ve OOP prensiplerini uygulayarak güçlü ve ölçeklenebilir yazılım sistemleri tasarlamalarını sağlamaktır.
|
Dersin İçeriği | Bu ders, nesne tabanlı programlamaya (OOP) giriş yaparak başlar ve nesne temelli düşünme, tasarım prensipleri ve OOP tarihini ele alır. Temel kavramlar, özellikler, yöntemler, olaylar, kontrol yapıları, döngüler ve diziler gibi OOP temelleri üzerinde durulur. İlkel ve referans tipler, veri yapıları ve algoritmalar incelenirken, listeler, yığınlar, kuyruklar ve sözlükler gibi yapıların OOP'deki uygulamalarına değinilir.
Dersin ilerleyen kısımlarında, nesne ve sınıf tasarımı, Birleşik Modelleme Dili (UML) ve sınıf, nesne, aktivite diyagramları gibi çeşitli UML diyagramları üzerinde çalışılır. Kalıtım, soyut sınıflar, bileşim, arabirimler, çok biçimlilik ve SOLID prensipleri gibi kavramlar incelenir. Ayrıca OOP'de istisna ve hata yönetimi ele alınır.
Ara sınavın ardından, bellek yönetimi, çöp toplama ve kaynak işleme gibi konulara odaklanılır. Nesne serileştirme, JSON, XML ve veritabanları ile çalışma incelenirken, eşzamanlılık, paralel programlama ve asenkron programlama gibi ileri düzey konulara geçilir. Diğer tasarım desenleri, mimari desenler (MVC, MVVM, vb.), mikroservisler ve API geliştirme üzerinde durulur.
Son olarak, yazılım mühendisliği prensipleri, çevik metodolojiler, sürüm kontrol sistemleri, kod incelemeleri ve test etme gibi konular incelenir. Ders final sınavı ile sona erer. |
Ders Kitabı / Malzemesi / Önerilen Kaynaklar | - Kitap: "Clean Architecture: A Craftsman's Guide to Software Structure and Design" by Robert C. Martin - Bu kitap, mimari ve tasarım prensiplerine odaklanarak nesne yönelimli programlamaya güçlü bir temel sağlar.
- Kitap: "Design Patterns and Best Practices: A comprehensive guide to building smart and reusable code" by Kamaljeet Singh and Adrian Ianculescu - Bu kitap, tasarım desenleri ve en iyi uygulamalar hakkında bilgi sunar.
- Kitap: "Effective Object-Oriented Software Construction: Concepts, Practices, and Metrics" by Kayshav Dattatri - Bu kitap etkili nesne yönelimli yazılım geliştirme süreçlerine odaklanarak, OOP kavramlarını, uygulamalarını ve ölçümlerini kapsamlı bir şekilde ele almaktadır.
- Online Kaynak: Coursera: https://www.coursera.org/
- Online Kaynak: Pluralsight: https://www.pluralsight.com/browse?=&q=oop&type=all&sort=default
- Online Kaynak: Udemy:https://www.udemy.com/courses/search/?src=ukw&q=oop
|