| Dersin Kodu | Dersin Adı | Dersin Türü | Yıl | Yarıyıl | AKTS | Kredi |
|---|---|---|---|---|---|---|
| EYZG106 | Nesne Tabanlı Programlama | Ders | 1 | 2 | 6.00 | 3.00 |
Lisans
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.
Dr. Öğr. Üyesi Ertan AKGENÇ
| 1 | Kod yazım kurallarına uygun, programlama dilinin alan, metot ve referanslarıyla uygulama hazırlayabilecektir. |
| 2 | Programlama dili kullanımı ve kod yazım kurallarına uygun, bileşenlerle çalışabilecektir. |
| 3 | Veritabanı ve SQL dili kullanımına uygun, veritabanı işlemlerini yapabilecektir. |
| 4 | Özel fonksiyonlar kullanarak nesne tabanlı programları kodlayabilecektir.Yapıcı ve yıkıcı fonksiyonları ayırt edebilecek ve oluşturabilecektir. |
| 5 | Nesne tabanlı programlama yardımıyla çeşitli projeler hazırlayabilecektir.Nesne tabanlı programlamada proje hazırlayabilecektir. |
Birinci Öğretim
Yok
Ders kapsamında Python ile programlama için gerekli araçları kullanarak, nesne tabanlı programlama ilkelerine uygun olarak programlar tasarlanmaktadır.
| 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. | |
| 2 | Tür Dönüşümleri, Genişleten (Widening) Dönüşümler, Daraltan (Narrowing) Dönüşümler, int-string dönüşümleri, Operatörler. 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. | |
| 3 | IF karar ifadesi, Switch Case, Break. 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. | |
| 4 | For Döngüsü, While Döngüsü, Do While Döngüsü. 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. | |
| 5 | Diziler, İki Boyutlu Diziler.Hata ve İstisna Yönetimi: try-except blokları, finally, raise ve özel hata sınıfı tanımlamaları. | Gerçek yaşamdan alınmış vaka örnekleriyle hata yakalama teknikleri tartışılır. | Python Programlama ile uygulama yapılmaktadır. | |
| 6 | Nesneye Yönelik Tasarım, Temel Kavramlar, Sınıflar ve Nesneler, Sınıf Yazımı, Paketler ve Derleme Birimleri, Referanslar, Çöplük Toplayıcı. 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. | |
| 7 | Yöntemler, Erişim Denetimi, Kopyalama Yapıcısı. 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. | |
| 8 | Vize Sınavları | |||
| 9 | Yöntem Yüklenmesi, Nesne Dizileri, Static Veriler ve Yöntemler. 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. | |
| 10 | FINALIZE Yöntemi, Nesne Tabanlı Programlamanın 4 İlkesi. Ç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. | |
| 11 | Çok Biçimlilik Kavramı, Arabirimler ile Çok Biçimlilik, Birden Fazla Arabirimi Uygulayan Sınıflar | Python Programlama ile uygulama yapılmaktadır. | Çok biçimlilik konusuna yönelik gösteri ve benzetim yöntemi ile soyutlama pekiştirilir. | |
| 12 | Miras Alma Türleri, Protected, Kapsülleme. | Python Programlama ile uygulama yapılmaktadır. | Kapsülleme ve Miras alma konusuna yönelik gösteri ve benzetim yöntemi ile soyutlama pekiştirilir. | |
| 13 | Soyut Sınıflar, İstisnalar, 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. | |
| 14 | Final Sınavı. |
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 | 4 | 56 |
| Bireysel Çalışma | 4 | 10 | 40 |
| Ara Sınav İçin Bireysel Çalışma | 1 | 30 | 30 |
| Final Sınavı içiin Bireysel Çalışma | 1 | 22 | 22 |
| Toplam İş Yükü (saat) | 150 | ||
| PÇ 1 | PÇ 2 | PÇ 3 | PÇ 4 | PÇ 5 | PÇ 6 | PÇ 7 | PÇ 8 | PÇ 9 | PÇ 10 | |
| ÖÇ 1 | 3 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 3 | 4 |
| ÖÇ 2 | 4 | 4 | 3 | 3 | 4 | 3 | 2 | 3 | 4 | 3 |
| ÖÇ 3 | 4 | 4 | 3 | 3 | 2 | 3 | 4 | 4 | 3 | 5 |
| ÖÇ 4 | 4 | 3 | 2 | 4 | 4 | 3 | 3 | 2 | 2 | 2 |
| ÖÇ 5 | 4 | 4 | 5 | 5 | 5 | 5 | 4 | 3 | 3 | 4 |