About the course
This Kotlin training course equips you with the essential language skills, syntax, and best practices to excel in modern, cross-platform development.
You'll learn to write effective, idiomatic Kotlin code and harness its seamless Java interoperability for JVM applications, native Android development (using Android Studio), and JavaScript compilation.
This course provides the core knowledge to create and deploy multiplatform Kotlin apps and can be combined with other courses, such as our Kotlin for Android course and/or Spring Boot with Kotlin course to build a comprehensive training programme for people new to both technologies.
Instructor-led online and in-house face-to-face options are available - as part of a wider customised training programme, or as a standalone workshop, on-site at your offices or at one of many flexible meeting spaces in the UK and around the World.
- 
		
		- Write idiomatic Kotlin code.
- Set up a Kotlin development environment.
- Understand Kotlin's syntax and core concepts.
- Create Kotlin classes and objects.
- Implement flow control and handle nullability in Kotlin.
- Apply inheritance and abstraction in Kotlin.
- Work with collections and generics in Kotlin.
- Define and use functions, including higher-order functions.
- Structure Kotlin projects with packages.
- Develop cross-platform Kotlin applications
 
- 
		
		This course is perfect for software developers who want to expand their skills and learn Kotlin for building cross-platform applications. 
- 
		
		This course is designed for software developers with existing experience in a language such as Python, JavaScript, Java, or C#, who want to gain a solid foundation in Kotlin for modern application development. We would be happy to adapt and incorporate this course into a training programme for non-coders (for instance, as part of a graduate scheme for STEM students) - please get in touch to discuss your learning goals. 
- 
		
		This Kotlin course is available for private / custom delivery for your team - as an in-house face-to-face workshop at your location of choice, or as online instructor-led training via MS Teams (or your own preferred platform). Get in touch to find out how we can deliver tailored training which focuses on your project requirements and learning goals. 
- 
		
		Course Overview- Introduction to the course 
- Course Outline 
- Introductions 
 Introduction to Kotlin- Kotlin Environment and the JVM 
- Android Studio Environment 
- Setting up an Android Studio Project 
- Kotlin Hello World program 
- Comments, Annotations 
 Lab: Hello World in Kotlin using Android Studio Kotlin Classes- Class definitions 
- Constructors, named constructor parameters, default values 
- Secondary Constructors 
- Simple Properties 
- Instance Creation 
- Member Functions 
- Function Named Parameters 
- Function Default Parameters 
- Function Vararg Parameters 
- Functions returning Values 
- Converting instances to Strings 
 Lab: Books and Bookshop app in Kotlin using Android Studio Objects, flow of control and Further Properties- Objects 
- Companion Objects 
- Flow of control 
- Self reference: This 
- Accessing Masked properties 
- Properties and their Types 
- Property Visibility 
- Property Declaration Modifiers 
- Custom property functions 
- Nullability 
- Nullable Operators 
- Lazy properties 
- Instance Equality 
- Curly Bracket Syntax 
 Lab: Adding behaviour to the Bookshop Inheritance- Inheritance in Kotlin 
- Implementing Inheritance 
- Rule for overriding functions 
- Overriding Properties 
- Rules for Polymorphic variables 
- Casting and Inheritance 
- The super variable 
- Constructors and Inheritance 
 Lab: Defining Inheritance for Book class Abstract classes and Interfaces- Abstract Classes 
- Defining an Abstract Class 
- Declaring abstract functions 
- Extending an Abstract Class 
- Interfaces as Contracts 
- Interfaces in Kotlin 
- Interface Definitions 
- Implementing Interfaces 
- Delegation 
 Lab: abstract classes and interfaces Further Classes- Four Types of Nested Classes 
- Nested classes 
- Member Inner Classes 
- Method Inner Classes 
- Anonymous Classes / Objects 
- Sealed Classes 
- Inline classes 
- Data Classes 
- Data Classes and Destructuring Declarations 
- Operators 
- Infix Member Functions 
- Enumeration support 
- Kotlin Annotations 
 Lab: Implementing Data classes Containers and Generics- Arrays 
- Collections Library 
- Mutable and Immutable (read-only) collections 
- Sets, Lists and Maps 
- Pairs and Triples 
- Collection iteration 
 Lab 7: Working with Containers Functions- What is Functional Programming? 
- Kotlin as a Functional Language 
- Defining Functions 
- Function Objects 
- Function Definitions 
- Named Functions, Single Expression & Inline functions 
- Anonymous Functions and Lambdas 
- Callable References 
- Closures 
- Functions and Methods 
- SAM Interfaces 
- Coroutines & Asynchronous Programming 
 Lab: Functions Higher Order Functions and Extension Functions- Higher Order Functions Introduction 
- Functions as Parameters 
- Using Typealias for function types 
- Functions as Return types 
- Collections & FP: foreach 
- Scope functions (apply, let, also, run and with) 
- Conditional functions (takeIf, takeUnless) 
- Extensions 
- Extension Functions and Extension properties 
- Infix Extensions 
- Looping over Collections 
- Sorting Collections 
- Grouping, Folding, Reducing and Zipping Collections 
 Lab: Processing containers using higher order functions Packages and Project Structuring- What is a Package? 
- K2 - the Kotlin Compiler 
- Importing 
- Kotlin Default Imports 
- Visibility Modifiers 
- Visibility Modifiers and Constructors 
- Kotlin Modules 
- Multiplatform deployment considerations 
 Exception Handling- Errors & Exceptions 
- Exception types in Kotlin 
- Part of the Exception Hierarchy 
- Exception Handling 
- Kotlin and Checked Exceptions 
- Try-Catch Expressions 
- Finally and returned values 
- Defining New Exceptions 
- Chained Exceptions 
 Lab: Adding Exception handling to the bookshop 
- 
		
		- Kotlin Official Website: https://kotlinlang.org/ - The primary resource for all things Kotlin, including documentation, tutorials, and community information. 
- Kotlin Documentation: https://kotlinlang.org/docs/ - Comprehensive documentation covering the language, standard library, and tools. 
- Kotlin Koans: https://play.kotlinlang.org/koans/overview - Interactive exercises to learn Kotlin in a hands-on way. 
- Kotlin Blog: https://blog.jetbrains.com/kotlin/ - Official blog for the latest Kotlin news, releases, and articles. 
 
Trusted by
 
				
				 
				
				 
				
				 
				
			