BİLGİSAYAR MÜHENDİSLİĞİ (YÜKSEK LİSANS) (TEZSİZ)
Yüksek Lisans TYYÇ: 7. Düzey QF-EHEA: 2. Düzey EQF-LLL: 7. Düzey

Ders Genel Tanıtım Bilgileri

Ders Kodu: BMB 530
Ders İsmi: Mobil Programlama
Ders Yarıyılı: Güz
Ders Kredileri:
Teorik Pratik Kredi AKTS
3 0 3 9
Öğretim Dili: TR
Ders Koşulu:
Ders İş Deneyimini Gerektiriyor mu?: Hayır
Dersin Türü: Bölüm Seçmeli
Dersin Seviyesi:
Yüksek Lisans TYYÇ:7. Düzey QF-EHEA:2. Düzey EQF-LLL:7. Düzey
Dersin Veriliş Şekli: Yüz yüze
Dersin Koordinatörü: Dr.Öğr.Üyesi MÜCAHİT KAPLAN
Dersi Veren(ler):
Dersin Yardımcıları:

Dersin Amaç ve İçeriği

Dersin Amacı: Bu dersin amacı, size mobil programlamanın ileri düzey zorluklarının yanı sıra bu zorlukların üstesinden gelmeye çalışan teknolojiler hakkında bir çalışma bilgisi vermektir. Bu dersi başarıyla bitiren öğrencilerin, Flutter çerçevesi ve Dart programlama dilini kullanarak çeşitli platformlar arası mobil uygulamalar oluşturabilmeleri ve sürdürebilmeleri beklenmektedir.
Dersin İçeriği: Bu ders, Flutter çerçevesi ve Dart programlama dili kullanarak modern ve çapraz platform mobil uygulamalar geliştirme sürecini kapsamaktadır. Ders kapsamında, temel widget yapılarından başlayarak kullanıcı arayüzü tasarımı, durum yönetimi, veri yönetimi, API entegrasyonu, Firebase kullanımı, animasyonlar, platforma özgü özellikler ve uygulama dağıtımı gibi konular ele alınacaktır. Öğrenciler, teorik bilgileri pratik projeler ve laboratuvar çalışmaları ile pekiştirerek gerçek dünyaya yönelik mobil uygulamalar geliştirme becerisi kazanacaklardır.

Öğrenme Kazanımları

Bu dersi başarıyla tamamlayabilen öğrenciler;
Öğrenme Kazanımları
1 - Bilgi
Kuramsal - Olgusal
2 - Beceriler
Bilişsel - Uygulamalı
1) Farklı platformlar için optimize edilmiş mobil çözümler tasarlar ve geliştirir.
2) Flutter çerçevesini ve Dart programlama dilini kullanarak etkileşimli ve duyarlı mobil arayüzler oluşturur.
3) Durum yönetimi tekniklerini (State Management) kullanarak veri akışını yönetir ve uygulama performansını artırır.
4) Mobil uygulamalarda API entegrasyonu yaparak harici veri kaynakları ile iletişim kurar.
5) Firebase ve diğer veritabanı çözümlerini kullanarak gerçek zamanlı veri yönetimi sağlar.
6) Mobil cihazların donanımsal özelliklerinden (kamera, GPS, sensörler vb.) faydalanarak gelişmiş uygulamalar geliştirir.
3 - Yetkinlikler
İletişim ve Sosyal Yetkinlik
Öğrenme Yetkinliği
Alana Özgü Yetkinlik
Bağımsız Çalışabilme ve Sorumluluk Alabilme Yetkinliği

Ders Akış Planı

Hafta Konu Ön Hazırlık
1)
1) Flutter’a Giriş ve Kurulum
2) Dart Programlama Dilinin Temelleri İlk derste paylaşılan sunum ve yardımcı kaynak dokümanların okunması
3) Temel Widget’lar ve Sayfa Düzeni Konuya ilişkin paylaşılan sunum ve yardımcı kaynaklardan çalışma
4) Durum Yönetimi (State Management) - setState() Kullanımı Konuya ilişkin paylaşılan sunum ve yardımcı kaynaklardan çalışma
5) Navigasyon & Sayfa Geçişleri Konuya ilişkin paylaşılan sunum ve yardımcı kaynaklardan çalışma-
6) Veritabanı Kullanımı Konuya ilişkin paylaşılan sunum ve yardımcı kaynaklardan çalışma
7) API Kullanımı (REST, HTTP, JSON) Konuya ilişkin paylaşılan sunum ve yardımcı kaynaklardan çalışma
8) Ara Sınav
9) Navigasyon Widget'ları ve İletişim Kutuları Konuya ilişkin paylaşılan sunum ve yardımcı kaynaklardan çalışma
10) Animasyonlar ve Görsel EfektlerAnimasyonlar ve Görsel Efektler Konuya ilişkin paylaşılan sunum ve yardımcı kaynaklardan çalışma
11) Firebase'i Flutter ile Kullanma (Firestore, Authentication) Konuya ilişkin paylaşılan sunum ve yardımcı kaynaklardan çalışma
12) Platform-Yerel Kod Yazma ve Ağ Kullanımı (URL Launcher, Shared Platform Code) Konuya ilişkin paylaşılan sunum ve yardımcı kaynaklardan çalışma
13) Proje Geliştirme ve İyileştirme Konuya ilişkin paylaşılan sunum ve yardımcı kaynaklardan çalışma
14) Proje Geliştirme ve İyileştirme Konuya ilişkin paylaşılan sunum ve yardımcı kaynaklardan çalışma
15) Proje Geliştirme ve İyileştirme Konuya ilişkin paylaşılan sunum ve yardımcı kaynaklardan çalışma
16) Dönem Sonu Sınavı

Kaynaklar

Ders Notları / Kitaplar:
Diğer Kaynaklar: - Ders sunum ve notları

Ders - Program Öğrenme Kazanım İlişkisi

Ders Öğrenme Kazanımları

1

2

3

4

5

6

Program Kazanımları
1) Planlama, analiz, tasarım ve yapılandırma aşamalarını içeren bilgi sistemleri geliştirilmesinde kapsamlı bilgi sahibi olma, ilgili geliştirme yöntemleri ve modelleme araçlarını tanıma.
2) Bilgisayar mühendisliği alanında ileri uygulamaları gerçekleştirecek düzeyde kapsamlı bilgi sahibi olma.
3) Bilgi ve İletişim Teknolojileri alanında uygulamalı araştırma yaparak bilgiye ulaşabilme, değerlendirme ve uygulama, farklı disiplinlerden bilgiyi entegre etme.
4) Farklı alanlarda bilimsel yöntemlerle bilgiyi keşfetme, sonuç çıkarma, paylaşma ve uygulama; farklı disiplinlere ait bilgileri ilişkilendirme.
5) Bilgi teknolojileri alanıyla ile ilgili uzmanlık gerektiren bir çalışmayı bağımsız olarak yürütebilme.
6) Bilgi ve İletişim Teknolojileri alanı ile ilgili uygulamalarda karşılaşılan ve öngörülemeyen karmaşık sorunların çözümü için yeni stratejik yaklaşımlar geliştirebilme ve sorumluluk alarak çözüm üretebilme.
7) Bilgi ve İletişim Teknolojileri alanı ile ilgili sorunların çözümlenmesini gerektiren ortamlarda liderlik yapabilme.
8) Bilgisayar Mühendisliği alanında edindiği uzmanlık düzeyindeki bilgi ve becerileri eleştirel bir yaklaşımla değerlendirebilme ve öğrenmesini yönlendirebilme.
9) Bilgisayar Mühendiliği alanındaki güncel çalışmalardan haberdar olma, gelişmeleri sürekli takip etme, gerektiğinde bunları inceleme ve adlandırma.
10) Türkçe ve İngilizce olarak sözlü ve yazılı etkin iletişim kurma.
11) Çalışmalarında toplumsal, bilimsel ve etik değerleri gözetme.
12) Bilgi Teknolojileri ile ilgili konularda strateji, politika ve uygulama planları geliştirebilme ve elde edilen sonuçları, kalite süreçleri çerçevesinde değerlendirebilme.
13) Bilgisayar Mühendiliği alanında özümsedikleri bilgiyi, problem çözme ve/veya uygulama becerilerini, disiplinlerarası çalışmalarda kullanabilme.

Ders - Öğrenme Kazanımı İlişkisi

Etkisi Yok 1 En Düşük 2 Düşük 3 Orta 4 Yüksek 5 En Yüksek
           
Dersin Program Kazanımlarına Etkisi Katkı Payı
1) Planlama, analiz, tasarım ve yapılandırma aşamalarını içeren bilgi sistemleri geliştirilmesinde kapsamlı bilgi sahibi olma, ilgili geliştirme yöntemleri ve modelleme araçlarını tanıma. 3
2) Bilgisayar mühendisliği alanında ileri uygulamaları gerçekleştirecek düzeyde kapsamlı bilgi sahibi olma. 5
3) Bilgi ve İletişim Teknolojileri alanında uygulamalı araştırma yaparak bilgiye ulaşabilme, değerlendirme ve uygulama, farklı disiplinlerden bilgiyi entegre etme. 5
4) Farklı alanlarda bilimsel yöntemlerle bilgiyi keşfetme, sonuç çıkarma, paylaşma ve uygulama; farklı disiplinlere ait bilgileri ilişkilendirme. 3
5) Bilgi teknolojileri alanıyla ile ilgili uzmanlık gerektiren bir çalışmayı bağımsız olarak yürütebilme. 5
6) Bilgi ve İletişim Teknolojileri alanı ile ilgili uygulamalarda karşılaşılan ve öngörülemeyen karmaşık sorunların çözümü için yeni stratejik yaklaşımlar geliştirebilme ve sorumluluk alarak çözüm üretebilme. 4
7) Bilgi ve İletişim Teknolojileri alanı ile ilgili sorunların çözümlenmesini gerektiren ortamlarda liderlik yapabilme. 3
8) Bilgisayar Mühendisliği alanında edindiği uzmanlık düzeyindeki bilgi ve becerileri eleştirel bir yaklaşımla değerlendirebilme ve öğrenmesini yönlendirebilme. 5
9) Bilgisayar Mühendiliği alanındaki güncel çalışmalardan haberdar olma, gelişmeleri sürekli takip etme, gerektiğinde bunları inceleme ve adlandırma. 3
10) Türkçe ve İngilizce olarak sözlü ve yazılı etkin iletişim kurma. 3
11) Çalışmalarında toplumsal, bilimsel ve etik değerleri gözetme. 5
12) Bilgi Teknolojileri ile ilgili konularda strateji, politika ve uygulama planları geliştirebilme ve elde edilen sonuçları, kalite süreçleri çerçevesinde değerlendirebilme. 3
13) Bilgisayar Mühendiliği alanında özümsedikleri bilgiyi, problem çözme ve/veya uygulama becerilerini, disiplinlerarası çalışmalarda kullanabilme. 5

Öğrenme Etkinliği ve Öğretme Yöntemleri

Anlatım
Bireysel çalışma ve ödevi
Ders
Okuma
Proje Hazırlama
Web Tabanlı Öğrenme

Ölçme ve Değerlendirme Yöntemleri ve Kriterleri

Yazılı Sınav (Açık uçlu sorular, çoktan seçmeli, doğru yanlış, eşleştirme, boşluk doldurma, sıralama)
Bireysel Proje

Ölçme ve Değerlendirme

Yarıyıl İçi Çalışmaları Aktivite Sayısı Katkı Payı
Projeler 1 % 20
Ara Sınavlar 1 % 30
Final 1 % 50
Toplam % 100
YARIYIL İÇİ ÇALIŞMALARININ BAŞARI NOTU KATKISI % 50
YARIYIL SONU ÇALIŞMALARININ BAŞARI NOTUNA KATKISI % 50
Toplam % 100

İş Yükü ve AKTS Kredisi Hesaplaması

Aktiviteler Aktivite Sayısı Süre (Saat) İş Yükü
Ders Saati 15 3 45
Sınıf Dışı Ders Çalışması 15 5 75
Proje 1 85 85
Ara Sınavlar 1 25 25
Final 1 40 40
Toplam İş Yükü 270