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. |
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ı |
|
|
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 |