Bu ders, bir önceki dönemde kazanılan algoritma ve temel programlama bilgilerini nesne yönelimli programlama (Object Oriented Programming - OOP) paradigmasına taşıyarak daha ileri düzey yazılım geliştirme becerilerini kapsamlı biçimde ele almaktadır. Yazılım Mühendisliği lisans öğrencileri için tasarlanmış olan bu ders; nesne, sınıf, kalıtım, çok biçimlilik, soyutlama ve kapsülleme gibi temel OOP kavramlarını hem Java hem de Python programlama dilleri üzerinden paralel bir yaklaşımla öğretmektedir. Her kavram önce Java'da derinlemesine ele alınmakta, ardından aynı hafta içinde Python karşılığı ile kıyaslamalı olarak gösterilmektedir. Bu sayede öğrenciler, OOP düşünce yapısını dile bağımlı olmaksızın içselleştirme fırsatı bulmaktadır.
Nesne yönelimli programlama, modern yazılım dünyasının temel taşlarından biridir. Akademik alanınız veya kariyer yolunuz ne olursa olsun, OOP prensiplerini kavramak ve uygulayabilmek; sürdürülebilir, okunabilir ve yeniden kullanılabilir yazılımlar geliştirmenin ön koşuludur. Bu ders, OOP kavramlarını soyut bir teoriden çıkarıp somut, gerçek dünya problemlerine yönelik çözümler üretebilme yetkinliğine dönüştürmek amacıyla yapılandırılmıştır.
Java ve Python dillerinin aynı dönemde paralel biçimde işlenmesi, öğrencilerin farklı dillerdeki sözdizimi farklarının ötesinde, OOP'nin evrensel mantığını kavramalarını sağlamaktadır. Teorik derslerde kurulan kavramsal altyapı, laboratuvar saatlerinde doğrudan kodlamaya dönüştürülerek her konunun hem düşünsel hem de pratik boyutu pekiştirilmektedir.
Dersin sonunda öğrenciler:
Ders akışımız, aşağıdaki konuları kapsamaktadır: