Intermediate Kotlin

Unlocking the Power of Kotlin: From Beginner to Expert


2 Days (8 hours per day)


Intermediate Level

Design and Tailor this course

As per your team needs

Edit Content

The Intermediate Kotlin course delves into advanced Kotlin programming concepts, offering a comprehensive understanding to students. It begins with a quick recap of Kotlin basics before delving into topics such as top-level functions, high-order functions, and operator overloading. Additionally, learners explore Lambdas, external functions and properties, and exception handling.

The course also covers integrating Kotlin with Java, Kotlin Android extensions, KTX, and various platform types. Through interactive labs and lectures, participants gain practical experience and deepen their Kotlin proficiency. Prior knowledge of Kotlin is required, as the course builds upon the foundational “Introduction to Kotlin” course, making it unsuitable for beginners.

After this course, you will be able to:

  • Write complex Kotlin programs
  • leverage Kotlins top-level and high-order functions
  • Call Java code from Kotlin and vice versa
  • Perform testing in Kotlin

This course includes:

  • Introduction to functional programming with higher order functions
  • Advanced Kotlin language features
  • Kotlin/Java interoperability
  • Testing in Kotlin
  • Coroutines
Edit Content
  • Experienced Kotlin developers seeking to advance their skills and understanding of the language.
  • Developers familiar with Kotlin basics who want to explore advanced concepts such as high-order     functions and operator overloading.
  • Professionals interested in integrating Kotlin with Java, leveraging Kotlin for Android development, and conducting testing in Kotlin applications.

Edit Content
  • Classes and objects
  • Properties and fields
  • Inheritance and interfaces
  • Abstract classes and interfaces
  • Overriding and extension functions
  • Top Level Functions
  • Operator Overloading
  • Higher Order Functions
  • Lambdas
  • Lambdas with Receiver
  • Extension Functions
  • Extension Properties
  • Inline Functions
  • Reified Types
  • Infix Notation
  • Arrays, lists, sets, and maps
  • Kotlin Collection functions (filter, map, reduce, etc.)
  • Immutable vs. mutable collections
  • Working with collections efficiently
  • Exception Overview – No Checked Exceptions Catching Exceptions
  • @Throws
  • Functional Exception Handling: Either/Try The Finally Block
  • Defining and Throwing Exceptions
  • Calling Java from Kotlin
  • Platform Types
  • Calling Kotlin from Java
    • @JvmStatic 
    • @JvmField 
  • Android Kotlin Android Extensions
  • KTX
  • Intent/bundle Delegates
  • Watch Out for Platform Types
  • RxKotlin
  • Writing unit tests with JUnit and KotlinTest
  • Mocking and stubbing with Mockito or MockK
  • Debugging Kotlin code effectively
  • Testing asynchronous code with coroutines
Edit Content
  • Familiarity with programming, preferably using Java
  • Familiarity with basic Kotlin concepts
  • Familiarity in using Git
  • Must have the latest version of IntelliJ installed


we'd love to have your feedback on your experience so far