İleri Programlama

Ramazan Ozgur Dogan · 27 January 2026

Ders Bilgileri

Ders Kodu YPZ209
Program Yapay Zeka Mühendisliği
Dil Türkçe
Düzey Lisans
Türü Zorunlu
Ön Koşul Yok
Teori 3 Saat
Uygulama 1 Saat
Laboratuvar
Kredi 3.50
AKTS 4.00
Veriliş Yüz yüze
Öğretim Üyesi Dr. Öğr. Üyesi Ramazan Özgür Doğan

Dersin Amacı

Bu dersin amacı öğrencilere nesne yönelimli programlama (OOP) prensiplerini derinlemesine öğretmek, algoritma tasarımı ve yüksek seviyeli programlama dilleri üzerinde ileri düzey beceriler kazandırmaktır. Öğrenciler soyut veri türleri, kalıtım, polimorfizm, çoklu iş parçacığı (thread) tabanlı programlama, hata ayıklama, test etme ve düzenli ifadeler (regular expressions) ile metin işleme konularını uygulamalı olarak öğreneceklerdir. Ayrıca öğrenciler, yapay zekâ bilimi kapsamında kullanılan veri bilimi ve yapay zekâ kütüphanelerinin (ör. NumPy, Pandas, PyTorch) hesaplama performansları hakkında bilgi sahibi olacak ve modern yazılım geliştirme araçları (ör. Docker) ile uygulama geliştirme pratiği kazanacaklardır.

Ders İçeriği

Nesne yönelimli programlama; kalıtım, polimorfizm ve soyut sınıflar; hata ayıklama ve istisna yönetimi; düzenli ifadeler ile metin işleme; çoklu iş parçacığı programlama; GitHub ile proje yönetimi; Docker ile uygulama konteynerleştirme; PyTorch üzerinde OOP ve yapay zekâ bilimi uygulamaları; tasarım desenleri.

Haftalık Program

Hafta Konu
1 Nesne Yönelimli Programlamaya Giriş
2 Kalıtım (Inheritance) I — Temel Kavramlar & GitHub Üzerinde Proje Paylaşımı ve Yönetimi
3 Kalıtım (Inheritance) II — Çoklu Kalıtım ve super() Kullanımı
4 Polimorfizm (Çok Biçimlilik)
5 Metot Örtme (Overriding) ve Metot Aşırı Yükleme (Overloading)
6 Soyut Sınıflar ve Arayüzler (Abstract Base Classes)
7 İstisna Yönetimi ve Hata Ayıklama
8 Düzenli İfadeler (Regular Expressions) — Metin İşleme ve Veri Temizleme
9 Ara Sınav
10 Thread Tabanlı Programlama — Çoklu İş Parçacığı Yönetimi
11 Docker ile Python Uygulamalarını Konteynerleştirme
12 PyTorch Üzerinde OOP İncelemesi I — Model Sınıfları ve Module Mirası
13 PyTorch Üzerinde OOP İncelemesi II — İleri Seviye Yapılar ve Yapay Zekâ Bilimi Uygulamaları
14 Tasarım Desenleri (Design Patterns) — Singleton, Factory, Observer Örnekleri
15 Dönem Projesi Teslimi ve Değerlendirme
16 Dönem Sonu Sınavı

Değerlendirme

Bileşen Ağırlık
Dönem Sonu Sınavı %50
Ara Sınav %25
Proje %25

Dersin Öğrenme Çıktıları

Bu dersi başarıyla tamamlayan öğrenciler:

  1. Düzenli ifadeler (regular expressions) ile metin işleme ve veri temizleme becerisi kazanır.
  2. Programda hata ayıklama ve istisna yönetimini gerçekleştirebilir.
  3. Nesne yönelimli programlamanın temel prensiplerini (sınıflar, kapsülleme) ve ileri kavramlarını (kalıtım, polimorfizm, soyut sınıflar) uygulayabilir.
  4. Çoklu iş parçacığı (thread) tabanlı programlama ve asenkron programlamayı uygulayabilir.
  5. Modern yazılım geliştirme araçlarını (ör. Docker) kullanarak uygulamaları paketleyip çalıştırabilir.
  6. Yapay zekâ bilimi kapsamında PyTorch üzerinde nesne yönelimli programlama yaklaşımını kavrayarak model sınıflarını geliştirebilir.
  7. Tasarım desenlerini (design patterns) uygulayarak yeniden kullanılabilir ve sürdürülebilir yazılım geliştirebilir.
  8. Uygulamalarla pratik yaparak geliştirme sürecini daha iyi kavrar.

Önerilen Ders Kitapları

  • Ceder, N. (2025). The Quick Python Book (4th ed.). Manning.
  • Gaddis, T. (2021). Starting Out with Python (5th ed.). Pearson.
  • Liang, Y. D. (2013). Introduction to Programming Using Python. Pearson.
  • Sweigart, A. (2019). Automate the Boring Stuff with Python. No Starch Press.

Ek Kaynaklar

Ramazan Ozgur Dogan

Dr. Öğr. Üyesi Ramazan Özgür Doğan'ın akademik blogu — Trabzon Üniversitesi'nde yapay zeka araştırmacısı. Derin öğrenme, tıbbi görüntüleme ve daha fazlası.

Contents
Share