A huge industry has grown up in the last few years delivering a wide range of apps for mobile devices, including application areas such as games, social networking, information, and productivity. The purpose of this module is to teach the main aspects of programming applications for such devices.
Given the power of modern mobile devices coupled with their range of inputs (audio, camera, GPS, motion sensor, touchscreen) this creates an exceptionally interesting platform to develop applications for.
Furthermore, these platforms come complete with their own marketplaces meaning that successful applications can achieve a large market share based largely on their merit.
Such a course could be taught at an abstract level, independent of the particular type of device in question, but the approach taken in this module is to explore one particular platform (Android), in a hands-on and in-depth manner.
This is a popular platform with a range of excellent devices (including low cost ones) from a variety of manufacturers. The platform is well designed and well documented, and has the significant advantage of being Kotlin based, meaning that students can get up to speed relatively quickly using the Google preferred state of the art programming language and concentrate on the interesting issues involved in developing a high-quality app without having to learn a new language from scratch.
The differences and conversions between Java and Kotlin are introduced and students will quickly realise and grasp the benefits of being knowledgable in both languages.