<?xml version="1.0" encoding="UTF-8"?>
<ders kod="BLP229">
  <ad>MOBİL UYGULAMA GELİŞTİRME</ad>
  <program>Computer Programming</program>
  <genelBilgiler>
    <bilgi ad="Semester">3</bilgi>
    <bilgi ad="Type">Zorunlu</bilgi>
    <bilgi ad="Theory / Practice / Lab">2 / 2 / 0</bilgi>
    <bilgi ad="ECTS">4</bilgi>
    <bilgi ad="Level of study">Ön Lisans</bilgi>
    <bilgi ad="Mode of study">Birinci Öğretim</bilgi>
    <bilgi ad="Instructor">Öğr. Gör. Osman Doğuş GÜLGÜN</bilgi>
    <bilgi ad="Prerequisite courses">Yok</bilgi>
    <bilgi ad="Internship status">Yok</bilgi>
  </genelBilgiler>
  <metin baslik="Course objectives">Bu dersin amacı, öğrencilere mobil platformların temel yapısını tanıtmak ve Android Studio geliştirme ortamında kullanıcı arayüzü tasarımı, ekranlar arası geçiş, veri aktarımı, liste yapıları ve temel veri saklama işlemlerini içeren mobil uygulamalar geliştirme becerisi kazandırmaktır. Ders kapsamında öğrencilerin, öğrendikleri programlama bilgilerini mobil ortama aktararak işlevsel ve kullanıcı dostu uygulamalar tasarlayabilmeleri hedeflenmektedir.</metin>
  <metin baslik="Course content">Mobil platformlar ve kullanım alanları; Android işletim sistemi mimarisi; Android Studio geliştirme ortamı ve proje yapısı; Manifest dosyası ve kaynak (resource) yönetimi; XML ile arayüz tasarımı (LinearLayout, ConstraintLayout); temel arayüz bileşenleri (TextView, EditText, Button, ImageView); olay yönetimi ve kullanıcı etkileşimi; Activity kavramı ve yaşam döngüsü; Intent ile ekranlar arası geçiş ve veri aktarımı; veri doğrulama ve kullanıcı bildirimleri (Toast); liste yapıları, RecyclerView ve Adapter kullanımı; Fragment yapısı ve yönetimi; temel veri saklama yöntemleri (SharedPreferences, yerel veri tabanı); hata ayıklama (Logcat) ve uygulamanın test edilmesi; dönem projesi geliştirme.</metin>
  <metin baslik="Resources">Android Developers – Resmî Dokümantasyon ve Eğitimler
Griffiths, D., Griffiths, D. Head First Android Development, O’Reilly Media.
Phillips, B., Stewart, C., Marsicano, K. Android Programming: The Big Nerd Ranch Guide, Big Nerd Ranch.</metin>
  <metin baslik="Other recommended points">Öğrencilerin derslere düzenli katılmaları, uygulama saatlerinde verilen çalışmaları tamamlamaları ve ders dışında Android Studio ortamında düzenli pratik yapmaları önerilir. Temel nesne yönelimli programlama kavramlarının (sınıf, nesne, metot) tekrar edilmesi dersin takibini kolaylaştıracaktır.</metin>
  <ogrenmeCiktilari>
    <cikti no="1">Mobil platformların ve Android işletim sisteminin temel yapısını açıklar; Android Studio geliştirme ortamını ve proje bileşenlerini (Manifest, kaynak dosyaları, Gradle) kullanır.</cikti>
    <cikti no="2">XML ve temel arayüz bileşenlerini kullanarak kullanıcı dostu ve işlevsel mobil uygulama arayüzleri tasarlar.</cikti>
    <cikti no="3">Activity yaşam döngüsünü açıklar; Intent ve Fragment yapılarını kullanarak ekranlar arası geçiş ve veri aktarımı gerçekleştirir.</cikti>
    <cikti no="4">RecyclerView, Adapter ve temel veri saklama yöntemlerini (SharedPreferences, yerel veri tabanı) kullanarak veri listeleyen ve saklayan uygulamalar geliştirir.</cikti>
    <cikti no="5">Logcat ve hata ayıklama araçlarıyla uygulama hatalarını analiz eder; kazandığı becerileri bir araya getirerek uçtan uca bir mobil uygulama projesi geliştirir.</cikti>
  </ogrenmeCiktilari>
  <haftalikKonular>
    <hafta no="1">Mobil platformlara giriş, Android işletim sistemi mimarisi ve kullanım alanları</hafta>
    <hafta no="2">Android Studio kurulumu, proje yapısı, Manifest, kaynak dosyaları ve Gradle</hafta>
    <hafta no="3">XML ile arayüz tasarımı: LinearLayout ve ConstraintLayout</hafta>
    <hafta no="4">Temel arayüz bileşenleri: TextView, EditText, Button, ImageView</hafta>
    <hafta no="5">Olay yönetimi, buton tıklama, kullanıcıdan veri alma ve Toast bildirimleri</hafta>
    <hafta no="6">Activity kavramı ve Activity yaşam döngüsü</hafta>
    <hafta no="7">Intent ile ekranlar arası geçiş ve putExtra/Bundle ile veri aktarımı</hafta>
    <hafta no="8">Ara Sınav (Vize)</hafta>
    <hafta no="9">Fragment kavramı, Fragment yaşam döngüsü ve Fragment yönetimi</hafta>
    <hafta no="10">Liste yapıları: ListView’den RecyclerView’e geçiş</hafta>
    <hafta no="11">RecyclerView ve Adapter ile özel liste tasarımı</hafta>
    <hafta no="12">Veri saklama: SharedPreferences ile kullanıcı ayarlarının tutulması</hafta>
    <hafta no="13">Yerel veri tabanı ile kayıt ekleme, listeleme, güncelleme ve silme işlemleri</hafta>
    <hafta no="14">Logcat ve hata ayıklama araçları, veri doğrulama ve uygulama testi</hafta>
    <hafta no="15">Dönem projesi: uçtan uca mobil uygulama geliştirme, sunum ve genel tekrar</hafta>
    <hafta no="16">Yarıyıl Sonu Sınavı (Final)</hafta>
  </haftalikKonular>
  <degerlendirme>
    <grup baslik="Yarıyıl (Yıl) İçi Etkinlikleri">
      <etkinlik sayi="1" yuzde="100">Ara Sınav</etkinlik>
    </grup>
    <grup baslik="Yarıyıl (Yıl) Sonu Etkinlikleri">
      <etkinlik sayi="1" yuzde="100">Yarıyıl Sonu Sınavı</etkinlik>
    </grup>
    <grup baslik="Yarıyıl(yıl) içi etkinliklerin ve yarıyıl(yıl) sonu sınavının başarı notuna katkısı">
      <etkinlik sayi="0" yuzde="60">Yarıyıl (Yıl) Sonu Etkinlikleri</etkinlik>
      <etkinlik sayi="0" yuzde="40">Yarıyıl (Yıl) İçi Etkinlikleri</etkinlik>
    </grup>
  </degerlendirme>
  <isYuku toplamSaat="120" akts="4">
    <etkinlik sayi="1" sureSaat="36" toplamSaat="36">Final Sınavı içiin Bireysel Çalışma</etkinlik>
    <etkinlik sayi="14" sureSaat="4" toplamSaat="56">Derse Katılım</etkinlik>
    <etkinlik sayi="1" sureSaat="26" toplamSaat="26">Ara Sınav İçin Bireysel Çalışma</etkinlik>
    <etkinlik sayi="1" sureSaat="1" toplamSaat="1">Final Sınavı</etkinlik>
    <etkinlik sayi="1" sureSaat="1" toplamSaat="1">Ara Sınav</etkinlik>
  </isYuku>
</ders>
