
Application development for mobile devices
- Class 30
- Practice 30
- Independent work 120
Course title
Application development for mobile devices
Lecture type
Elective
Course code
22-00-523
Semester
5
ECTS
6
Lecturers and associates
Course overview
This module introduces students to native mobile application development for open source Android platform.
This module is an optional module for Software Engineering subspecialisation and builds on Java module from the previous semester. When chosen, the skills acquired will contribute significantly to students’ development as professionals in the respective fields.
Students will learn:
• Android ecosystem and its four pillars: Activity, Service, Broadcast Receiver and Content Provider
• How to use mobile oriented libraries and follow the latest development standards.
• How to structure a highly scalable project that can serve as a personal framework for developing further Android applications.
The module is taught in Kotlin. The module assessment is based on individual student projects. In these projects, students must create Android applications in Kotlin programming language to the given specifications.
Literature
Essential reading:
1. Jemerov D. and Isakova S. (2017) Kotlin in Action. 1st edn. Shelter Island: Manning Publications.
2. Phillips B. et al (2019) Android Programming: The Big Nerd Ranch Guide. 1st edn. Atlanta: The Big Nerd Ranch Guides.
Recommended reading:
1. Leiva A. and Gardner B. (2016) Kotlin for Android Developers: Learn Kotlin the easy way while developing an Android App. 1st edn. Scotts Valley: CreateSpace Independent Publishing Platform.
Further reading:
1. Skeen J. and Greenhalgh D. (2018) Kotlin Programming: The Big Nerd Ranch Guide. 1st edition. Atlanta: The Big Nerd Ranch Guides.
Minimal learning outcomes
- Evaluate the architecture of the mobile ecosystem.
- Implement a mobile application using advanced graphical interface elements.
- Evaluate standard architectural components of mobile applications and apply them when implementing user requirements.
- Implement the data layer of the mobile application.
- Analyse and use different types of mobile ecosystem services in order to meet user requirements.
- Implement different levels of security within the mobile environment.
Preferred learning outcomes
- Evaluate the architecture of the mobile ecosystem versus the architectures of desktop and web applications.
- Implement a mobile application using proprietary graphical interface elements.
- Evaluate advanced architectural components of mobile applications and apply them when implementing user requirements.
- Implement and optimize the data layer of the mobile application using best practices.
- Use different types of services for asynchronous communication with the server.
- Implement application permissions that are evaluated during application execution.