| Dersin Kodu | Dersin Adı | Dersin Türü | Yıl | Yarıyıl | AKTS | Kredi |
|---|---|---|---|---|---|---|
| OBLG266 | Nesne Tabanlı Programlama II | Ders | 2 | 4 | 6.00 | 3.00 |
Önlisans
Bu dersin amacı, öğrencilerin Python programlama dilinde ileri düzey beceriler kazanmasını sağlamaktır. Öğrencilerin modüler programlama, nesne tabanlı programlama, veri analizi kütüphaneleri (NumPy, Pandas) ve veritabanı bağlantıları gibi konularda yetkinlik kazanarak, gerçek dünya problemlerine çözüm üretebilecek yazılımlar geliştirmeleri hedeflenmektedir.
Öğr. Gör. Dr. Ertan AKGENÇ
| 1 | Öğrenci, Python dilinde gelişmiş veri yapıları (set, sözlük) ve modüler programlama yapılarını açıklar. |
| 2 | Öğrenci, dosya işlemleri, hata yönetimi ve sınıf yapıları kullanarak işlevsel uygulamalar geliştirir. |
| 3 | Öğrenci, NumPy ve Pandas kütüphanelerini kullanarak veri analizi ve görselleştirme işlemleri gerçekleştirir. |
| 4 | Öğrenci, SQLite veritabanı ile bağlantı kurarak temel veri tabanı işlemlerini (CRUD) uygular. |
| 5 | Öğrenci, proje temelli bir çalışmada algoritma, veri yapısı ve nesne tabanlı programlama ilkelerini bütüncül olarak uygular. |
Birinci Öğretim
Yoktur.
Yok
| Hafta | Teorik | Uygulama | [OgretimYontemVeTeknikleri] | [OnHazirlik] |
|---|---|---|---|---|
| 1 | Dönem Bilgi Tekrarı: Veri tipleri, kontrol yapıları, döngüler, fonksiyonlar. Giriş seviyesi Python bilgisinin gözden geçirilmesi. Kütüphaneler ve kurulumların gösterilmesi. | Python Programlama ile uygulama yapılmaktadır. | Düz anlatım ve soru-cevap yöntemiyle öğrencilerin önceki dönem bilgileri pekiştirilir. | Yoktur. |
| 2 | Set ve Dictionary Yapıları: Küme işlemleri, sözlük mantığı ve veri erişimi. | Python Programlama ile uygulama yapılmaktadır. | Gösteri yöntemi ve uygulamalı çözümlemeyle veri yapılarının gerçek veriyle kullanımı sağlanır. | Yoktur. |
| 3 | Dosya İşlemleri: Dosya açma, okuma, yazma ve kapatma işlemleri, hata yönetimi ile birlikte. | Python Programlama ile uygulama yapılmaktadır. | Problem çözme yöntemiyle öğrenciye dosya işlemleriyle ilgili karşılaşılan hatalar çözümletilir. | Yoktur. |
| 4 | Modül ve Paket Yönetimi: Dahili ve harici modüller, pip ve modül import etme yöntemleri. | Python Programlama ile uygulama yapılmaktadır. | Modül gösterimi ile uygulamalı çalışma birlikte yürütülerek kodun modüler yapısı kavratılır. | Yoktur. |
| 5 | Hata ve İstisna Yönetimi: try-except blokları, finally, raise ve özel hata sınıfı tanımlamaları. | Python Programlama ile uygulama yapılmaktadır. | Gerçek yaşamdan alınmış vaka örnekleriyle hata yakalama teknikleri tartışılır. | Yoktur. |
| 6 | Sınıf ve Nesne Yapısı: Python'da nesne tabanlı programlamaya giriş, self, __init__, sınıf içi veri ve davranış tanımı. | Python Programlama ile uygulama yapılmaktadır. | Anlatım ve uygulamalı çalışma yöntemiyle nesne ve sınıf ilişkisi inşa ettirilir. | Yoktur. |
| 7 | Gelişmiş OOP: Kalıtım, çok biçimlilik, sınıf ve statik metotlar. | Python Programlama ile uygulama yapılmaktadır. | Kalıtım ve polimorfizm konuları beyin fırtınasıyla desteklenerek örnek sınıf tasarımları yapılır. | Yoktur. |
| 8 | Vize Sınavları. | |||
| 9 | Ara Proje Geliştirme: Dosya işlemleri, sınıflar ve istisna yönetimini kapsayan bir mini proje uygulaması. | Python Programlama ile uygulama yapılmaktadır. | Proje tabanlı öğrenme yöntemi ile öğrenciler gruplar hâlinde ara proje geliştirir. | Yoktur. |
| 10 | Çok Biçimlilik (Polymorphism): Override, ortak arayüzler, duck typing. | Python Programlama ile uygulama yapılmaktadır. | Çok biçimlilik konusuna yönelik gösteri ve benzetim yöntemi ile soyutlama pekiştirilir. | Yoktur. |
| 11 | NumPy ile Sayısal İşlemler: Matris işlemleri, diziler, istatistiksel hesaplamalar. | Python Programlama ile uygulama yapılmaktadır. | NumPy ile yapılan hesaplamalar uygulamalı anlatım ve tekrar-alıştırma yöntemi ile öğretilir. | Yoktur. |
| 12 | Pandas ile Veri Analizi: DataFrame yapısı, filtreleme, gruplama, eksik veri yönetimi. | Python Programlama ile uygulama yapılmaktadır. | Pandas ile veri analizi süreci vaka analizi yöntemi ile yürütülerek karar verme becerisi desteklenir. | Yoktur. |
| 13 | Veri Tabanı Kullanımı: SQLite ile veritabanı bağlantısı, CRUD işlemleri. | Python Programlama ile uygulama yapılmaktadır. | Veritabanı işlemleri uygulamalı çalışma ile yürütülüp, CRUD işlemleri grup içinde tartıştırılır. | Yoktur. |
| 14 | Final Sınavları. |
Sevli, O. (2021). Python 3. Kodlab Yayin Dağitim Yazilim Ltd. Şti. Phillips, D. (2015). Python 3 object-oriented programming. Packt Publishing Ltd. Lutz, M. (2013). Learning python: Powerful object-oriented programming. " O'Reilly Media, Inc.". Goldwasser, M. H., & Letscher, D. (2008). Object-Oriented Programming in Python. Pearson Prentice Hall.
| Yarıyıl (Yıl) İçi Etkinlikleri | Adet | Değer |
|---|---|---|
| Ara Sınav | 1 | 100 |
| Toplam | 100 | |
| Yarıyıl (Yıl) Sonu Etkinlikleri | Adet | Değer |
| Final Sınavı | 1 | 100 |
| Toplam | 100 | |
| Yarıyıl (Yıl) İçi Etkinlikleri | 40 | |
| Yarıyıl (Yıl) Sonu Etkinlikleri | 60 | |
| Etkinlikler | Sayısı | Süresi (saat) | Toplam İş Yükü (saat) |
|---|---|---|---|
| Ara Sınav | 1 | 1 | 1 |
| Final Sınavı | 1 | 1 | 1 |
| Derse Katılım | 14 | 3 | 42 |
| Bireysel Çalışma | 3 | 12 | 36 |
| Ara Sınav İçin Bireysel Çalışma | 1 | 30 | 30 |
| Final Sınavı içiin Bireysel Çalışma | 1 | 40 | 40 |
| Toplam İş Yükü (saat) | 150 | ||
| ÖÇ 1 |
| ÖÇ 2 |
| ÖÇ 3 |
| ÖÇ 4 |
| ÖÇ 5 |