BBZ405 Mobile Application Development

5 ECTS - 2-2 Duration (T+A)- 7. Semester- 3 National Credit

Information

Unit FACULTY OF SCIENCE AND LETTERS
COMPUTER SCIENCES PR.
Code BBZ405
Name Mobile Application Development
Term 2026-2027 Academic Year
Semester 7. Semester
Duration (T+A) 2-2 (T-A) (17 Week)
ECTS 5 ECTS
National Credit 3 National Credit
Teaching Language Türkçe
Level Belirsiz
Type Normal
Label E Elective
Mode of study Yüz Yüze Öğretim
Catalog Information Coordinator Dr. Öğr. Üyesi Cevher ÖZDEN
Course Instructor
The current term course schedule has not been prepared yet.


Course Goal / Objective

The aim of this course is to provide students with conceptual and practical competence in mobile application development using the Flutter framework and the Dart programming language, and to enable them to apply user interface design, state management, data exchange, local and cloud-based data storage, testing, and deployment processes within an integrated mobile application development life cycle.

Course Content

Introduction to mobile application development; native and cross-platform development approaches; fundamental structures of the Dart programming language; Flutter framework architecture; widget tree, stateless and stateful widgets; layout, themes, visual components, and user interaction; navigation and routing; form handling and user input validation; state management approaches; data exchange through REST APIs; JSON processing; an introduction to cloud-based mobile services and Firebase; local data persistence; access to device features; error handling; testing, debugging, and performance improvement; application packaging, deployment processes, and term project development.

Course Precondition

There is no prerequisite. Prior knowledge of object-oriented programming, basic data structures, and basic web services is recommended.

Resources

Lecture notes, official Flutter documentation, official Dart documentation, Flutter API documentation, and sample project notes provided by the instructor. The Flutter documentation is the main technical reference for widgets, examples, updates, and API documentation, while the Dart documentation covers language features, the SDK, the package ecosystem, and best practices. (docs.flutter.dev)

Notes

Flutter Cookbook, Flutter State Management Documentation, Flutter Navigation Documentation, Flutter Testing Documentation, Firebase for Flutter Documentation, and the pub.dev package repository. Firebase can be used as a Backend-as-a-Service approach that supports the integration of cloud services such as Authentication, Firestore, and Storage in Flutter applications. (docs.flutter.dev)


Course Learning Outcomes

Order Course Learning Outcomes
LO01 Explains mobile application development approaches and native and cross-platform development models.
LO02 Applies the fundamental structures of the Dart programming language in the context of mobile application development.
LO03 Designs user interface components using the Flutter widget tree, stateless widgets, and stateful widgets.
LO04 Develops mobile interfaces using layout structures, themes, visual components, and user interaction elements.
LO05 Applies user input handling, form operations, validation, and error message processes.
LO06 Develops navigation, routing, and data transfer structures between screens in Flutter applications.
LO07 Manages application state using appropriate state management approaches.
LO08 Develops application components that exchange data through REST APIs and cloud-based mobile services.
LO09 Develops an integrated mobile application project that includes local data persistence, basic testing, debugging, and deployment processes.


Relation with Program Learning Outcome

Order Type Program Learning Outcomes Level
PLO01 Bilgi - Kuramsal, Olgusal Gain comprehensive knowledge of fundamental concepts, algorithms, and data structures in Computer Science. 3
PLO02 Bilgi - Kuramsal, Olgusal Learn essential computer topics such as software development, programming languages, and database management 3
PLO03 Bilgi - Kuramsal, Olgusal Understand advanced computer fields like data science, artificial intelligence, and machine learning. 3
PLO04 Bilgi - Kuramsal, Olgusal Acquire knowledge of topics like computer networks, cybersecurity, and database design. 3
PLO05 Beceriler - Bilişsel, Uygulamalı Develop skills in designing, implementing, and analyzing algorithms 3
PLO06 Beceriler - Bilişsel, Uygulamalı Gain proficiency in using various programming languages effectively 3
PLO07 Beceriler - Bilişsel, Uygulamalı Learn skills in data analysis, database management, and processing large datasets.
PLO08 Beceriler - Bilişsel, Uygulamalı Acquire practical experience through working on software development projects.
PLO09 Yetkinlikler - Bağımsız Çalışabilme ve Sorumluluk Alabilme Yetkinliği Strengthen teamwork and communication skills.
PLO10 Yetkinlikler - Alana Özgü Yetkinlik Foster a mindset open to technological innovations.
PLO11 Yetkinlikler - Öğrenme Yetkinliği Encourage the capacity for continuous learning and self-improvement. 3
PLO12 Yetkinlikler - İletişim ve Sosyal Yetkinlik Enhance the ability to solve complex problems 3


Week Plan

Week Topic Preparation Methods
1 Introduction to mobile application development; mobile operating systems, native and cross-platform development approaches Installing the Flutter and Dart development environment Öğretim Yöntemleri:
Anlatım, Gösterip Yaptırma
2 Introduction to the Dart programming language: variables, data types, collections, functions, and classes Reviewing basic Dart syntax Öğretim Yöntemleri:
Anlatım, Gösterip Yaptırma
3 Flutter framework architecture, project structure, widget tree, and basic working principles Creating the first Flutter project Öğretim Yöntemleri:
Anlatım, Gösterip Yaptırma, Proje Temelli Öğrenme
4 StatelessWidget, StatefulWidget, hot reload, and basic user interface components Reviewing basic widget examples Öğretim Yöntemleri:
Anlatım, Gösterip Yaptırma, Proje Temelli Öğrenme
5 Layout structures: Row, Column, Stack, ListView, GridView, and responsive interface design Reviewing layout widget examples Öğretim Yöntemleri:
Anlatım, Gösterip Yaptırma, Proje Temelli Öğrenme
6 Themes, styling, images, icons, user experience, and accessibility principles Reviewing theme and style files Öğretim Yöntemleri:
Anlatım, Gösterip Yaptırma, Proje Temelli Öğrenme
7 User input, form handling, validation, error messages, and basic interactions Reviewing form and TextField examples Öğretim Yöntemleri:
Anlatım, Gösterip Yaptırma, Proje Temelli Öğrenme
8 Mid-Term Exam Review of topics Ölçme Yöntemleri:
Yazılı Sınav
9 Navigation, routing, screen transitions, and data transfer between screens Reviewing navigation examples Öğretim Yöntemleri:
Anlatım, Gösterip Yaptırma, Proje Temelli Öğrenme
10 State management approaches: setState, Provider/Riverpod logic, and application state management Reviewing state management documentation Öğretim Yöntemleri:
Anlatım, Gösterip Yaptırma, Proje Temelli Öğrenme
11 Using REST APIs, HTTP requests, JSON processing, and creating a service layer Reviewing HTTP and JSON examples Öğretim Yöntemleri:
Anlatım, Gösterip Yaptırma, Proje Temelli Öğrenme
12 Cloud-based mobile services: Firebase Authentication, Cloud Firestore, Cloud Storage, and the Backend-as-a-Service approach Reviewing Firebase project setup steps Öğretim Yöntemleri:
Anlatım, Gösterip Yaptırma, Proje Temelli Öğrenme
13 Local data persistence, offline operation logic, device features, and permission management Reviewing local data persistence packages Öğretim Yöntemleri:
Anlatım, Gösterip Yaptırma, Proje Temelli Öğrenme
14 Testing, debugging, performance improvement, secure coding, and application quality Reviewing debugging and testing examples Öğretim Yöntemleri:
Anlatım, Gösterip Yaptırma, Proje Temelli Öğrenme
15 Application packaging, deployment processes, term project presentations, and general evaluation Preparing project files and presentation Öğretim Yöntemleri:
Soru-Cevap, Tartışma, Proje Temelli Öğrenme
16 Term Exams Final project presentations Ölçme Yöntemleri:
Proje / Tasarım
17 Term Exams Review of topics Ölçme Yöntemleri:
Yazılı Sınav


Student Workload - ECTS

Works Number Time (Hour) Workload (Hour)
Course Related Works
Class Time (Exam weeks are excluded) 14 4 56
Out of Class Study (Preliminary Work, Practice) 14 4 56
Assesment Related Works
Homeworks, Projects, Others 5 2 10
Mid-term Exams (Written, Oral, etc.) 1 3 3
Final Exam 1 3 3
Total Workload (Hour) 128
Total Workload / 25 (h) 5,12
ECTS 5 ECTS

Update Time: 06.05.2026 03:44