Goal: The aim of the course is to get acquainted with the specialty of Kotlin programming language and the basics of programming of mobile devices. Kotlin language provides effective solutions for current development difficulties (efficiency, code security, data handling…). It also provides tools for using state-of-the-art software development paradigms (test driven development, design patterns…). Acquiring the knowledge to apply these solutions students will be able to develop maintainable mobile applications in good quality.
Course description: Kotlin language basics, the Kotlin ecosystem, development environment (building test environment). The Kotlin type system (nullability, values and variables), functions (top-level functions), properties and their extensions, classes (data classes), objects, interfaces. Lambda expressions. Handling collections, accessing and converting data. Generics and delegates. Architecture components of Android apps (resources, activities, services, broadcast receivers, content providers). User interface development (layouts, controls, event handling, themes and styles).