Advanced mobile programming
- About
- e-Leadership MBA
- Graduate Professional Program
- Joint Graduate Study Programme in Computer Science - Internet of Things and Artificial Intelligence
- Lecture Plan
- Computing
- Undergraduate University Program
- Learning outcomes on the program level
- Learning outcomes on the program level
- Admission
- Learning outcomes on the program level
- Learning outcomes on the program level
- Apply now
- Learning outcomes on the program level
- Learning outcomes on the program level
- Learning outcomes on the program level
- Learning outcomes on the program level
- Useful Information
- Learning outcomes on the program level
- Learning outcomes on the program level
- Useful Information
- Professional Title Acquired
- 3D Design
- Design
- Duration of the Study Program
- Undergraduate Professional Program
- Lecture Plan
- Lecture Plan
- Lecture Plan
- Useful Information
- Useful Information
- Software Package Included in the Price of the Study
- Software Package Included in the Price of the Study
- Course Schedules
- Course Schedules
- Professional Title Acquired
- Duration of the Study Program
- Digital Marketing
- Software Package Included in the Price of the Study
- Duration of the Study Program
- Lecture Plan
- Professional Title Acquired
- Useful Information
- Course Schedules
- Multimedia Computing
- Industry Certifications
- Course Schedules
- Professional Title Acquired
- Software Package Included in the Price of the Study
- System Engineering
- Duration of the Study Program
- Lecture plan
- Course Schedules
- Professional Title Acquired
- Software Package Included in the Price of the Study
- Industry Certifications
- Useful Information
- Software Engineering
- Duration of the Study Program
- Software Package Included in the Price of the Study
- Course Schedules
- Lecture Plan
- Industry Certifications
- Useful Information
- Professional Title Acquired
- Creative Market Communications Management
- Duration of the Study Program
- Course Schedules
- Industry Certifications
- Lecture Plan
- Useful Information
- Duration of the Study Program
- Software Package Included in the Price of the Study
- Digital Marketing
- Who Can Enroll
- Professional Title Acquired
- Software Package Included in the Price of the Study
- Course Schedules
- Lecture Plan
- Professional Title Acquired
- Useful Information
- Useful Information
- Data Science
- Industry Certifications
- Course Schedules
- Jobs and necessary knowledge and skills that graduates will be prepared for
- Course Schedules
- Duration of the Study Program
- Software Package Included in the Price of the Study
- Lecture Plan
- Duration of the Study
- Game Development
- Professional Title Acquired
- Who Can Enroll
- Professional Title Acquired
- MITx MicroMasters® program
- Useful Information
- Lecture Plan
- Software Package Included in the Price of the Study
- System Engineering
- Duration of the Study
- Who can Apply
- Course Schedules
- Lecture Plan
- Software Engineering
- Software Engineering
- Useful Information
- Study Duration
- Lecture Plan
- Lecture Plan
- Useful Information
- Useful Information
- Learning outcomes on the program level
- Learning outcomes on the program level
- Industry Certifications
- Industry Certifications
- Professional Title Acquired
- Professional Title Acquired
- Duration of the Study Program
- Duration of the Study Program
- Course Schedules
- Course Schedules
- Learning outcomes on the program level
- Partnership with Goldsmiths, University of London
- Partnership with Goldsmiths, University of London
- Partnership with Goldsmiths, University of London
- Partnership with Goldsmiths, University of London
- Partnership with Goldsmiths, University of London
- Partnership with Goldsmiths, University of London
- Partnership with Goldsmiths, University of London
- Partnership with Goldsmiths, University of London
- Partnership with Goldsmiths, University of London
- Partnership with Goldsmiths, University of London
- Partnership with Goldsmiths, University of London
- Partnership with Goldsmiths, University of London
- Partnership with Goldsmiths, University of London
- Partnership with Goldsmiths, University of London
- Class 15
- Practice 30
- Independent work 105
Course title
Advanced mobile programming
Lecture type
Elective
Course code
21-02-504
Semester
1
ECTS
5
Lecturers and associates
Course overview
This module introduces students to advanced concepts of mobile services and interfaces and to advanced, intrinsic and third party Kotlin libraries used to create more scalable and robust mobile applications.
This module is intended for students who already have knowledge and skills to design and create mobile applications and want to build on that. Skills learnt in this module will contribute significantly to students’ development as professionals in respecting fields.
Students will learn:
• About separation of concerns, by using clean architecture and standardized Android Jetpack components.
• How to use MVVM (Model-View-ViewModel) design pattern in order to provides a stable entry point for test driven development.
• How to implement navigation with emphasis on configuration and not on coding.
• About persistence and its implementation using the desirable ORM framework which works seamlessly clean and secure.
The module is taught in Kotlin programming language. The module assessment is based on individual student projects. In these projects, students must create mobile applications to the given specifications.
Literature
Essential reading:
1. Jemerov D. and Isakova S. (2017) Kotlin in Action. 1st edn. Shelter Island: Manning Publications. ISBN 978-1617293290
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 edn. Atlanta: The Big Nerd Ranch Guides.
Minimal learning outcomes
- Acquire knowledge about the specifics of different platforms and devices, and develop an application that uses them well.
- Critically evaluate individual patterns of mobile application architecture, propose and develop the most appropriate ones.
- Analyse, recommend and develop different types of data animation and presentation for the purpose of superior user experience.
- Evaluate and develop advanced graphical interface elements in order to adapt to the needs of the application.
- Explore, recommend and use embedded and external programming frameworks in solving advanced mobile ecosystem problems.
- Identify the need for advanced use of databases on mobile platforms and develop a solution.
- Implement asynchronous communication with various services on the Internet.
Preferred learning outcomes
- Take advantage of the specifics of different platforms and devices to improve the user experience, when implementing the application.
- Use advanced forms of mobile application architecture when implementing the application.
- When implementing the application, develop your own animations to improve the user experience.
- Develop your own advanced GUI elements to adapt to the needs of the application.
- When implementing the application, develop own program frameworks.
- When implementing an application that uses a database, use advanced elements of object-relational mapping.
- Use advanced mechanisms of asynchronous communication, when implementing the application.