Home/ Majors directory/Software Engineering/Programming for Mobile Platforms
Programming for Mobile Platforms
Major: Software Engineering
Code of subject: 6.121.01.E.044
Credits: 8.00
Department: Software
Lecturer: Senior lecturer Kutelmakh R.K.
Semester: 6 семестр
Mode of study: денна
Завдання: The study of an educational discipline involves the formation of competencies in students of education:
professional competences of a professional direction:
PCD 1.4: Ability to develop effective cross-platform mobile apps using modern languages, technologies and frameworks.
Learning outcomes: As a result of studying the academic discipline, the student must be able to demonstrate the following program learning outcomes:
• develop effective mobile apps using modern languages, technologies and frameworks;
• know the architecture and concepts underlying mobile platforms;
• understand the main characteristics, differences, features of modern mobile platforms;
• know the specifics of designing, developing and testing software for mobile platforms;
• choose the necessary tools for working with a specific mobile platform;
• develop software architecture for mobile platforms.
Required prior and related subjects: Previous academic disciplines:
Cross-platform programming
Associated and following academic disciplines:
Basics of the Internet of Things
Summary of the subject: In the process of studying the discipline, students get acquainted with the concepts and methods of developing software for mobile platforms. The course covers concepts underlying mobile apps' architecture, user interface, and UX design.
Опис: Topic 1: Programming with Flutter
Getting Started with Flutter
Dart
Introduction to Widgets
Working with Layout
Interactivity and Navigation in Applications
Basic State Management
Introduction to Asynchronous Programming
Data Persistence and Interaction with Internet Services
Advanced State Management with Streams
Using Flutter Packages
Topic 2: Kotlin programming language. Basics and Advanced Features.
Android Studio, Layouts, and Resources.
Activities, fragments, navigation.
Additional navigation.
View Model and LiveData classes. Data binding.
Database support using the Room library. Model-View-ViewModel pattern.
Displaying large volumes of data using the Recycler view.
Jetpack Compose toolkit for creating user interfaces.
Topic 3: iOS mobile platform.
Overview of the iOS mobile platform.
Topic 4: UX design and marketing of mobile apps.
User interface design and UX design. The UX pyramid method. Marketing of mobile apps.
Assessment methods and criteria: Assessment of reports and examination during the defense of laboratory works, oral examination at the exam.
Критерії оцінювання результатів навчання: Laboratory classes - 45 points.
Examination control - 55 points.
Порядок та критерії виставляння балів та оцінок: 100-88 points - certified with an “excellent” grade - High level: the student demonstrates an in-depth mastery of the conceptual and categorical apparatus of the discipline, systematic knowledge, skills and abilities of their practical application. The mastered knowledge, skills and abilities provide the ability to independently formulate goals and organize learning activities, search and find solutions in non-standard, atypical educational and professional situations. The applicant demonstrates the ability to make generalizations based on critical analysis of factual material, ideas, theories and concepts, to formulate conclusions based on them. His/her activity is based on interest and motivation for self-development, continuous professional development, independent research activities, implemented with the support and guidance of the teacher. 87-71 points - certified with a grade of “good” - Sufficient level: involves mastery of the conceptual and categorical apparatus of the discipline at an advanced level, conscious use of knowledge, skills and abilities to reveal the essence of the issue. Possession of a partially structured set of knowledge provides the ability to apply it in familiar educational and professional situations. Aware of the specifics of tasks and learning situations, the student demonstrates the ability to search for and choose their solution according to the given sample, to argue for the use of a particular method of solving the problem. Their activities are based on interest and motivation for self-development and continuous professional development. 70-50 points - certified with a grade of “satisfactory” - Satisfactory level: outlines the mastery of the conceptual and categorical apparatus of the discipline at the average level, partial awareness of educational and professional tasks, problems and situations, knowledge of ways to solve typical problems and tasks. The applicant demonstrates an average level of skills and abilities to apply knowledge in practice, and solving problems requires assistance, support from a model. The basis of learning activities is situational and heuristic, dominated by motives of duty, unconscious use of opportunities for self-development. 49-00 points - certified with a grade of “unsatisfactory” - Unsatisfactory level: indicates an elementary mastery of the conceptual and categorical apparatus of the discipline, a general understanding of the content of the educational material, partial use of knowledge, skills and abilities. The basis of learning activities is situational and pragmatic interest.
Recommended books: Recommended Books
Basic
1. Greenhalgh D., Skeen J., Bailey A., Kotlin Programming: The Big Nerd Ranch Guide 2nd Edition, Big Nerd Ranch Guides, 2021, 541 pp.
2. Griffiths D., Griffiths D., Head First Android Development: A Learner's Guide to Building Android Apps with Kotlin 3rd Edition, O'Reilly Media, 2021, 930 pp.
3. Sills B., Gardner B., Marsicano K., Stewart C., Android Programming: The Big Nerd Ranch Guide 5th Edition, Big Nerd Ranch Guides, 2022, 688 pp.
4. Alessandria S., Flutter Cookbook: 100+ step-by-step recipes for building cross-platform, professional-grade apps with Flutter 3.10.x and Dart 3.x, 2nd Edition, Packt Publishing, 2023, 712 pp.
Additional
5. Ghita C., Kickstart Modern Android Development with Jetpack and Kotlin, Packt Publishing, 2022, 472 pp.
6. Staiano F., Designing and Prototyping Interfaces with Figma, Packt Publishing, 2022, 382 pp.
Educational and methodological support
M.V. Davydov, A.B. Demchuk, O.V. Lozynska, Software for mobile devices: a study guide - Lviv: "New World-2000" Publishing House, 2020. - 218 p. (In Ukrainian)
Information resources
1. https://flutter.dev/
2. https://developer.android.com/
3. https://developer.apple.com/ios/