Genel Bilgi
| Birim | FEN-EDEBİYAT FAKÜLTESİ |
| BİLGİSAYAR BİLİMLERİ PR. | |
| Kod | BBZ405 |
| Ad | Mobil Uygulama Geliştirme |
| Dönem | 2026-2027 Eğitim-Öğretim Yılı |
| Yarıyıl | 7. Yarıyıl |
| Süre (T+U) | 2-2 (T-U) (17 Hafta) |
| AKTS | 5 AKTS |
| Yerel Kredi | 3 Yerel Kredi |
| Eğitim Dil | Türkçe |
| Seviye | Belirsiz |
| Tür | Normal |
| Etiket | S Seçmeli |
| Öğretim Şekli | Yüz Yüze Öğretim |
| Bilgi Paketi Koordinatörü | Dr. Öğr. Üyesi Cevher ÖZDEN |
| Dersin Öğretim Elemanı |
Güncel dönem ders programı henüz yapılmamıştır.
|
Dersin Amacı / Hedefi
Bu dersin amacı, öğrencilere Flutter framework ve Dart programlama dili kullanarak mobil uygulama geliştirme sürecini kavramsal ve uygulamalı düzeyde kazandırmak; kullanıcı arayüzü tasarımı, durum yönetimi, veri alışverişi, yerel ve bulut tabanlı veri saklama, test ve yayınlama süreçlerini bütünleşik bir mobil uygulama geliştirme yaşam döngüsü içinde uygulayabilmelerini sağlamaktır.
Dersin İçeriği
Mobil uygulama geliştirmeye giriş; native ve cross-platform geliştirme yaklaşımları; Dart programlama dilinin temel yapıları; Flutter framework mimarisi; widget ağacı, stateless ve stateful widget yapıları; layout, tema, görsel bileşenler ve kullanıcı etkileşimi; navigation ve routing; form işlemleri ve kullanıcı girdisi doğrulama; state management yaklaşımları; REST API ile veri alışverişi; JSON işleme; bulut tabanlı mobil servisler ve Firebase’e giriş; yerel veri saklama; cihaz özelliklerine erişim; hata yönetimi; test, hata ayıklama ve performans iyileştirme; uygulama paketleme, yayınlama süreçleri ve dönem projesi geliştirme.
Dersin Ön Koşulu
Ön koşul yoktur. Nesneye yönelik programlama, temel veri yapıları ve temel web servisleri hakkında ön bilgi önerilir.
Kaynaklar
Ders notları, Flutter resmi dokümantasyonu, Dart resmi dokümantasyonu, Flutter API dokümantasyonu ve öğretim elemanı tarafından sağlanan örnek proje notları. Flutter dokümantasyonu widget, örnek, güncelleme ve API belgelerini kapsayan temel teknik başvuru kaynağıdır; Dart dokümantasyonu ise dil özellikleri, SDK, paket ekosistemi ve iyi uygulama önerilerini içerir. (docs.flutter.dev)
Notlar
Flutter Cookbook, Flutter State Management Documentation, Flutter Navigation Documentation, Flutter Testing Documentation, Firebase for Flutter Documentation, pub.dev paket deposu. Firebase, Flutter uygulamalarında Authentication, Firestore, Storage ve benzeri bulut servislerinin kullanılmasını destekleyen Backend-as-a-Service yaklaşımı için kullanılabilir. (docs.flutter.dev)
Dersin Öğrenme Çıktıları
| Sıra | Dersin Öğrenme Çıktıları |
|---|---|
| ÖÇ01 | Mobil uygulama geliştirme yaklaşımlarını ve native ile cross-platform geliştirme modellerini açıklar. |
| ÖÇ02 | Dart programlama dilinin temel yapılarını mobil uygulama geliştirme bağlamında uygular. |
| ÖÇ03 | Flutter widget ağacını, stateless ve stateful widget yapılarını kullanarak kullanıcı arayüzü bileşenleri tasarlar. |
| ÖÇ04 | Layout, tema, görsel bileşenler ve kullanıcı etkileşimi öğelerini kullanarak mobil arayüzler geliştirir. |
| ÖÇ05 | Kullanıcı girdisi, form işlemleri, doğrulama ve hata mesajı süreçlerini uygular. |
| ÖÇ06 | Flutter uygulamalarında navigation, routing ve sayfalar arası veri aktarımı yapılarını geliştirir. |
| ÖÇ07 | Uygulama durumunu uygun state management yaklaşımlarıyla yönetir. |
| ÖÇ08 | REST API ve bulut tabanlı mobil servislerle veri alışverişi yapan uygulama bileşenleri geliştirir. |
| ÖÇ09 | Yerel veri saklama, temel test, hata ayıklama ve yayınlama süreçlerini içeren bütünleşik bir mobil uygulama projesi geliştirir. |
Program Öğrenme Çıktıları ile İlişkisi
| Sıra | Tür | Program Öğrenme Çıktıları | Duzey |
|---|---|---|---|
| PÖÇ01 | Bilgi - Kuramsal, Olgusal | Bilgisayar Bilimleri temel kavramları, algoritmalar ve veri yapıları hakkında geniş bir bilgi yelpazesi kazandırır. | 3 |
| PÖÇ02 | Bilgi - Kuramsal, Olgusal | Yazılım geliştirme, programlama dilleri ve veritabanı yönetimi gibi temel bilgisayar konularını öğrenir. | 3 |
| PÖÇ03 | Bilgi - Kuramsal, Olgusal | Veri bilimi, yapay zeka ve makine öğrenimi gibi ileri düzey bilgisayar alanlarını anlar. | 3 |
| PÖÇ04 | Bilgi - Kuramsal, Olgusal | Bilgisayar ağları, siber güvenlik ve veritabanı tasarımı gibi konularda bilgi edinir. | 3 |
| PÖÇ05 | Beceriler - Bilişsel, Uygulamalı | Algoritmaları tasarlama, uygulama ve analiz etme becerilerini geliştirir. | 3 |
| PÖÇ06 | Beceriler - Bilişsel, Uygulamalı | Farklı programlama dillerini etkili bir şekilde kullanabilme yeteneği kazanır | 3 |
| PÖÇ07 | Beceriler - Bilişsel, Uygulamalı | Veri analizi, veritabanı yönetimi ve büyük veri işleme becerilerini öğrenir. | |
| PÖÇ08 | Beceriler - Bilişsel, Uygulamalı | Yazılım geliştirme projelerinde çalışarak pratik deneyim kazanır. | |
| PÖÇ09 | Yetkinlikler - Bağımsız Çalışabilme ve Sorumluluk Alabilme Yetkinliği | Ekip içinde işbirliği yapma ve iletişim becerilerini güçlendirir. | |
| PÖÇ10 | Yetkinlikler - Alana Özgü Yetkinlik | Teknolojik yeniliklere açık bir zihniyet kazandırır. | |
| PÖÇ11 | Yetkinlikler - Öğrenme Yetkinliği | Sürekli öğrenme ve kendini geliştirme yetkinliğini teşvik eder. | 3 |
| PÖÇ12 | Yetkinlikler - İletişim ve Sosyal Yetkinlik | Karmaşık sorunları çözme yeteneği geliştirir. | 3 |
Haftalık Akış
| Hafta | Konu | Ön Hazırlık | Yöntemler |
|---|---|---|---|
| 1 | Mobil uygulama geliştirmeye giriş; mobil işletim sistemleri, native ve cross-platform geliştirme yaklaşımları | Flutter ve Dart geliştirme ortamını kurma | Öğretim Yöntemleri: Anlatım, Gösterip Yaptırma |
| 2 | Dart programlama diline giriş: değişkenler, veri tipleri, koleksiyonlar, fonksiyonlar ve sınıflar | Temel Dart sözdizimini inceleme | Öğretim Yöntemleri: Anlatım, Gösterip Yaptırma |
| 3 | Flutter framework mimarisi, proje yapısı, widget ağacı ve temel çalışma mantığı | İlk Flutter projesini oluşturma | Öğretim Yöntemleri: Anlatım, Gösterip Yaptırma, Proje Temelli Öğrenme |
| 4 | StatelessWidget, StatefulWidget, hot reload ve temel kullanıcı arayüzü bileşenleri | Temel widget örneklerini inceleme | Öğretim Yöntemleri: Anlatım, Gösterip Yaptırma, Proje Temelli Öğrenme |
| 5 | Layout yapıları: Row, Column, Stack, ListView, GridView ve responsive arayüz tasarımı | Layout widget örneklerini inceleme | Öğretim Yöntemleri: Anlatım, Gösterip Yaptırma, Proje Temelli Öğrenme |
| 6 | Tema, stil, görseller, ikonlar, kullanıcı deneyimi ve erişilebilirlik ilkeleri | Tema ve stil dosyalarını inceleme | Öğretim Yöntemleri: Anlatım, Gösterip Yaptırma, Proje Temelli Öğrenme |
| 7 | Kullanıcı girdisi, form işlemleri, doğrulama, hata mesajları ve temel etkileşimler | Form ve TextField örneklerini inceleme | Öğretim Yöntemleri: Anlatım, Gösterip Yaptırma, Proje Temelli Öğrenme |
| 8 | Ara Sınavlar | Genel konu tekrarı | Ölçme Yöntemleri: Yazılı Sınav |
| 9 | Navigation, routing, sayfalar arası geçiş ve veri aktarımı | Navigation örneklerini inceleme | Öğretim Yöntemleri: Anlatım, Gösterip Yaptırma, Proje Temelli Öğrenme |
| 10 | State management yaklaşımları: setState, Provider/Riverpod mantığı ve uygulama durumu yönetimi | State management dokümantasyonunu inceleme | Öğretim Yöntemleri: Anlatım, Gösterip Yaptırma, Proje Temelli Öğrenme |
| 11 | REST API kullanımı, HTTP istekleri, JSON işleme ve servis katmanı oluşturma | HTTP ve JSON örneklerini inceleme | Öğretim Yöntemleri: Anlatım, Gösterip Yaptırma, Proje Temelli Öğrenme |
| 12 | Bulut tabanlı mobil servisler: Firebase Authentication, Cloud Firestore, Cloud Storage ve Backend-as-a-Service yaklaşımı | Firebase proje oluşturma adımlarını inceleme | Öğretim Yöntemleri: Anlatım, Gösterip Yaptırma, Proje Temelli Öğrenme |
| 13 | Yerel veri saklama, çevrimdışı çalışma mantığı, cihaz özellikleri ve izin yönetimi | Yerel veri saklama paketlerini inceleme | Öğretim Yöntemleri: Anlatım, Gösterip Yaptırma, Proje Temelli Öğrenme |
| 14 | Test, hata ayıklama, performans iyileştirme, güvenli kodlama ve uygulama kalitesi | Debugging ve test örneklerini inceleme | Öğretim Yöntemleri: Anlatım, Gösterip Yaptırma, Proje Temelli Öğrenme |
| 15 | Uygulama paketleme, yayınlama süreçleri, dönem projesi sunumları ve genel değerlendirme | Proje dosyalarını ve sunumu hazırlama | Öğretim Yöntemleri: Soru-Cevap, Tartışma, Proje Temelli Öğrenme |
| 16 | Yarıyıl Sonu Sınavları | Final proje sunumları | Ölçme Yöntemleri: Proje / Tasarım |
| 17 | Yarıyıl Sonu Sınavları | Genel konu tekrarı | Ölçme Yöntemleri: Yazılı Sınav |
Öğrenci İş Yükü - AKTS
| Çalışmalar | Sayısı | Süresi (Saat) | İş Yükü (Saat) |
|---|---|---|---|
| Ders ile İlgili Çalışmalar | |||
| Ders (Sınav haftaları dahil değildir) | 14 | 4 | 56 |
| Sınıf Dışı Ders Çalışma (Ön çalışma, pekiştirme) | 14 | 4 | 56 |
| Değerlendirmeler ile İlgili Çalışmalar | |||
| Ödev, Proje, Diğer | 5 | 2 | 10 |
| Ara Sınavlar (Yazılı, Sözlü, vs.) | 1 | 3 | 3 |
| Yarıyıl/Yıl Sonu/Final Sınavı | 1 | 3 | 3 |
| Toplam İş Yükü (Saat) | 128 | ||
| Toplam İş Yükü / 25 (s) | 5,12 | ||
| AKTS | 5 AKTS | ||