| Dersin Kodu | Dersin Adı | Dersin Türü | Yıl | Yarıyıl | AKTS |
|---|---|---|---|---|---|
| 9025002452026 | NESNE TABANLI PROGRAMLAMA-II | Seçmeli Ders Grubu | 2 | 3 | 4,00 |
Önlisans
Türkçe
Bu ders ile öğrenciye; Dart dili ve nesne tabanlı programlama ve Flutter başlangıç düzeyinde anlatımları yapılır
ÖĞR. GÖR. DR. LEVENT TÜRKLER
| 1 | UML sınıf diyagramlarıyla sınıf tasarımı yapmak; kalıtım, çok biçimlilik, soyutlama ve arayüz yapılarını uygulamak. |
| 2 | Nesneler arası ilişkiler ve bileşim yapılarıyla modüler uygulamalar geliştirmek. |
| 3 | İstisna yönetimi, veri doğrulama, test ve hata ayıklama yöntemleriyle program hatalarını tespit etmek ve gidermek. |
| 4 | Verileri JSON/CSV biçimlerinde ve veritabanında saklamak; dosya, ağ, sensör veya cihazlardan veri alıp işlemek. |
| 5 | Katmanlı mimaride, otomasyon alanına yönelik bütünleşik bir nesne tabanlı uygulama geliştirmek, test etmek ve sunmak. |
Birinci Öğretim
Yok
Yok
Google Inc in geliştirdiği Dart programlama dilinin yapısı, nesne tabanlı kullanımı ve örnekleriyle beraber bir sonraki adımı olan Flutter programlama ile taşınabilir cihazlarda uygulamanın hazırlanması eğitimi verilir.
| Hafta | Konular (Teorik) | Uygulama | Öğretim Yöntem ve Teknikleri | Ön Hazırlık |
|---|---|---|---|---|
| 1 | Nesne Tabanlı Programlamaya Genel Bakış ve UML ile Sınıf Tasarımı | Sınıf, nesne, nitelik ve metot yapılarının gözden geçirilmesi ve UML sınıf diyagramlarının oluşturulması | Anlatım, Gösterip Yaptırma, Uygulama | Sınıf, nesne, metot ve kapsülleme kavramlarının gözden geçirilmesi |
| 2 | Kalıtım (Inheritance) ve Sınıf Hiyerarşileri | Temel ve türetilmiş sınıfların oluşturulması ve sınıf hiyerarşilerinin uygulanması | Anlatım, Gösterip Yaptırma, Uygulama | Sınıf üyeleri, erişim belirleyicileri ve kurucu metotların gözden geçirilmesi |
| 3 | Metot Aşırı Yükleme (Overloading), Metot Ezme (Overriding) ve Çok Biçimlilik (Polymorphism) | Metotların aşırı yüklenmesi ve ezilmesi ile farklı nesne davranışlarının gerçekleştirilmesi | Anlatım, Gösterip Yaptırma, Uygulama | Kalıtım, metot ve sınıf hiyerarşisi kavramlarının gözden geçirilmesi |
| 4 | Soyutlama, Soyut Sınıflar ve Arayüzler | Soyut sınıfların ve arayüzlerin tanımlanması ve farklı sınıflarda uygulanması | Anlatım, Gösterip Yaptırma, Uygulama | Kalıtım ve çok biçimlilik kavramlarının gözden geçirilmesi |
| 5 | Nesneler Arası İlişkiler, Bileşim ve Modüler Tasarım | Nesneler arasında ilişkilerin oluşturulması, bileşim yapılarının kullanılması ve uygulamanın modüllere ayrılması | Anlatım, Gösterip Yaptırma, Uygulama | Sınıf ilişkileri ve nesne etkileşimlerinin incelenmesi |
| 6 | İstisna Yönetimi (Exception Handling) ve Veri Doğrulama | Program çalışma hatalarının yakalanması, istisnaların yönetilmesi ve kullanıcı verilerinin doğrulanması | Anlatım, Gösterip Yaptırma, Uygulama, Problem Çözme | Program hataları ve kullanıcı veri girişlerinin gözden geçirilmesi |
| 7 | Nesne Tabanlı Uygulama Geliştirme | Kalıtım, çok biçimlilik, soyutlama, nesne ilişkileri ve istisna yönetimini içeren bir uygulamanın geliştirilmesi | Uygulama, Problem Çözme | İlk yarıda öğrenilen nesne tabanlı programlama yapılarının gözden geçirilmesi |
| 8 | ARA SINAV | — | — | — |
| 9 | Veri Serileştirme ve Yapılandırılmış Veri İşlemleri | Nesnelerin JSON, CSV ve benzeri veri biçimleri kullanılarak kaydedilmesi, okunması ve aktarılması | Anlatım, Gösterip Yaptırma, Uygulama | Dosya işlemleri ve veri koleksiyonlarının gözden geçirilmesi |
| 10 | Veritabanına Giriş ve Nesne Tabanlı Veri Yönetimi | Veritabanı ve tabloların oluşturulması, temel SQL sorguları ve veritabanı işlemlerinin sınıflar üzerinden gerçekleştirilmesi | Anlatım, Gösterip Yaptırma, Uygulama | Veritabanı, tablo, alan, kayıt ve temel SQL kavramlarının incelenmesi |
| 11 | Katmanlı ve Modüler Uygulama Mimarisi | Kullanıcı arayüzü, uygulama mantığı ve veri erişim işlemlerinin ayrı modül ve sınıflar halinde düzenlenmesi | Anlatım, Gösterip Yaptırma, Uygulama, Problem Çözme | Modüler programlama ve sınıf sorumluluklarının gözden geçirilmesi |
| 12 | Harici Veri Kaynakları ve Veri Alışverişi | Uygulamaların dosya, ağ, sensör veya cihazlardan veri alması ve bu verileri işlemesine yönelik uygulamaların gerçekleştirilmesi | Anlatım, Gösterip Yaptırma, Uygulama | Veri iletişimi ve yapılandırılmış veri biçimlerinin gözden geçirilmesi |
| 13 | Yazılım Testleri, Hata Ayıklama ve İyileştirme | Uygulamanın farklı çalışma koşullarında test edilmesi, hataların belirlenmesi ve giderilmesi | Anlatım, Gösterip Yaptırma, Uygulama, Problem Çözme | Hata yönetimi ve program doğrulama yöntemlerinin gözden geçirilmesi |
| 14 | Bütünleşik Nesne Tabanlı Uygulama Geliştirme – I | Nesne tabanlı yapı, kullanıcı arayüzü, veri yönetimi ve gerekli veri kaynaklarını içeren kapsamlı bir uygulamanın geliştirilmesi | Uygulama, Problem Çözme, Proje Tabanlı Öğrenme | Geliştirilecek uygulamanın gereksinimlerinin ve sınıf yapısının hazırlanması |
| 15 | Bütünleşik Nesne Tabanlı Uygulama Geliştirme – II | Uygulama bileşenlerinin bütünleştirilmesi, temel işlevlerin tamamlanması ve uygulamanın test edilmesi | Uygulama, Problem Çözme, Proje Tabanlı Öğrenme | Geliştirilen uygulamanın mevcut durumunun ve eksiklerinin değerlendirilmesi |
| 16 | Bütünleşik Uygulamanın Tamamlanması ve Değerlendirilmesi | Geliştirilen uygulamanın tamamlanması, çalışır durumda gösterilmesi ve işlevsel olarak değerlendirilmesi | Uygulama, Problem Çözme, Proje Tabanlı Öğrenme | Uygulamanın çalışır ve değerlendirilebilir duruma getirilmesi |
1. Özgül, F. Her Yönüyle Python, Kodlab Yayınları. 2. Başer, M. Python, Dikeyeksen Yayıncılık. 3. Özgül, F. Python Programlama Dili (güncel çevrimiçi Türkçe kaynak), belgeler.yazbel.com 4. Python Resmî Dokümantasyonu, docs.python.org/tr 5. SQLite Resmî Dokümantasyonu, sqlite.org/docs.html 6. Ders notları ve uygulama dosyaları
Ders, kuramsal anlatım ile laboratuvarda uygulamalı programlama çalışmaları birlikte yürütülerek işlenir. Her hafta konuya ilişkin örnek uygulamalar gösterilir ve öğrenciler bu uygulamaları bilgisayar başında yaparak pekiştirir. Haftalık ödevlerle konular desteklenir. Dönem sonunda öğrenciler, otomasyon alanına yönelik bütünleşik bir nesne tabanlı uygulama geliştirir, test eder ve sunar.
| Yarıyıl (Yıl) İçi Etkinlikleri | Adet | Değer |
|---|---|---|
| Ara Sınav | 1 | 50 |
| Ev Ödevi | 2 | 50 |
| 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 | |
Yok
| Etkinlikler | Sayısı | Süresi (saat) | Toplam İş Yükü (saat) |
|---|---|---|---|
| Ara Sınav | 1 | 2 | 2 |
| Final Sınavı | 1 | 2 | 2 |
| Derse Katılım | 14 | 4 | 56 |
| Bireysel Çalışma | 14 | 2 | 28 |
| Ara Sınav İçin Bireysel Çalışma | 1 | 8 | 8 |
| Final Sınavı içiin Bireysel Çalışma | 1 | 6 | 6 |
| Ev Ödevi | 2 | 6 | 12 |
| Toplam İş Yükü (saat) | 114 | ||
| PÇ 1 | PÇ 2 | PÇ 3 | PÇ 4 | PÇ 5 | PÇ 6 | PÇ 7 | PÇ 8 | PÇ 9 | PÇ 10 | PÇ 11 | PÇ 12 | PÇ 13 | PÇ 14 | PÇ 15 | PÇ 16 | |
| ÖÇ 1 | 2 | 4 | 2 | |||||||||||||
| ÖÇ 2 | 4 | 3 | ||||||||||||||
| ÖÇ 3 | 3 | 4 | 2 | |||||||||||||
| ÖÇ 4 | 4 | 2 | 3 | 2 | ||||||||||||
| ÖÇ 5 | 2 | 4 | 3 | 2 | 2 |