Course: Mobile Technology and Applications

» List of faculties » FEI » KIT
Course title Mobile Technology and Applications
Course code KIT/BMTA
Organizational form of instruction Lecture + Tutorial
Level of course Bachelor
Year of study not specified
Semester Winter
Number of ECTS credits 4
Language of instruction English
Status of course Compulsory, Compulsory-optional, Optional
Form of instruction Face-to-face
Work placements This is not an internship
Recommended optional programme components None
Lecturer(s)
  • Panuš Jan, Ing. Ph.D.
Course content
1. Introduction to Android ecosystem - What Android is, versions, API levels, app architecture; install Android Studio, SDK, emulator, ADB, project structure. 2. Kotlin Basics I - Syntax, variables, types, null-safety, conditionals, loops, functions, collections. 3. Kotlin Basics II (OO and functional style) - data/sealed classes, objects, inheritance, extension functions, lambdas, generics. 4. Getting started with jetpack compose - first UI, Composable functions, layouts, Modifiers, Preview, Material 3 5. State management and lifecycle - remember, state hoisting, ViewModel, SavedStateHandle, Lifecycle. 6. MVVM and dependency injection - MVVM, Repository pattern, Flow/StateFlow, unidirectional data flow, error states. 7. Navigation with Jetpack compose - Navigation Component, graph, arguments, back stack, deep links. 8. Testing - Unit tests (JUnit), Compose UI tests, fakes/mocks, debugging (Logcat), profiling (CPU/Memory/Network), optimizations (recomposition, lazy lists). 9. Data flow - Coroutines (launch, async, scopes), WorkManager, foreground service, notifications. 10. Networking, using API - REST, Retrofit or Ktor Client, Kotlinx Serialization/Moshi, interceptors, error handling, retry, offline-first. 11. Security - DI (Hilt/Koin), modularization, secret management (Gradle keystore), build variants, Crashlytics/Analytics 12. Local Storage - Entity/DAO, Room Database, migrations, DataStore (Preferences/Proto). 13. Permissions & hardware/sensors: Runtime permissions, camera/gallery (MediaPicker), location (FusedLocation), maps (Maps Compose), content sharing.

Learning activities and teaching methods
unspecified, Methods of individual activities, Demonstration, Work-related activities
  • Preparation for a credit (assessment) - 13 hours per semester
  • Preparation for an exam - 13 hours per semester
  • Home preparation for classes - 39 hours per semester
  • Contact teaching - 39 hours per semester
  • Individual project - 13 hours per semester
Learning outcomes
The aim is to improve the existing programming knowledge of the mobile applications design and development. During the classes, students will learn about the current state of mobile technology and development tools for creating mobile applications. And also they learn how to implement a real mobile application for the chosen development platform. Development will provide by Kotlin language on IntelliJ IDEA IDE and Android Studio.
Students of the BMTA course will acquire knowledge and skills in the field of mobile application development on the selected mobile device with the appropriate operating system of Android.
Prerequisites
Knowledge of the basic programming and OOP in Java.

Assessment methods and criteria
Oral examination, Work-related product analysis, Self project defence

Active participation in exercises. Completed exercises. Credit: Development of a functional application Exam: Defence of the programmed functional application
Recommended literature
  • Ebel, N. Mastering Kotlin: Learn advanced Kotlin programming techniques to build apps for Android, iOS, and the web. Birmingham: UK, 2019. ISBN 978-1838555726.
  • Murphy, Mark L. Android 2 : průvodce programováním mobilních aplikací. Brno: Computer Press, 2011. ISBN 978-80-251-3194-7.


Study plans that include the course
Faculty Study plan (Version) Category of Branch/Specialization Recommended year of study Recommended semester