Get in Touch

Course Outline

Introduction

Kotlin Basics Refresher

Utilizing Advanced Functions in Kotlin

  • Reusing functionality via nested functions in Kotlin.
  • Calling functions using infix notation in Kotlin.
  • Declaring anonymous functions in Kotlin.
  • Leveraging the inline modifier for enhanced efficiency in Kotlin.
  • Implementing regular and local returns when working with advanced functions in Kotlin.
  • Implementing tail recursion for optimization in Kotlin.
  • Applying operator overloading in Kotlin.
  • Using lambdas with receivers to establish DSL constraints in Kotlin.
  • Invoking instances in Kotlin.
  • Employing functional constructs in Kotlin
    • Function composition.
    • Currying.
    • Other constructs.
  • Summary of advanced functional aspects in Kotlin.

Exploring Class Scenarios in Kotlin

  • Implementing fields in Kotlin.
  • Utilizing the "lateinit" modifier in Kotlin.
  • Understanding nested and inner classes in Kotlin.
  • Defining "static methods" in Kotlin through companion objects.
  • Hiding class constructors in Kotlin.
  • Marking classes as sealed in Kotlin.
  • Using type aliases in Kotlin.
  • Summary of advanced features for classes in Kotlin.

Implementing Delegation in Kotlin

  • Understanding member delegation in Kotlin.
  • Delegating member functions to another class in Kotlin.
  • Delegating properties in Kotlin for improved code reuse efficiency.
  • Utilizing built-in delegated properties in Kotlin.
  • Delegating local properties in Kotlin to enhance code reuse.
  • Implementing extension properties in classes in Kotlin.
  • Summary of the various aspects of delegation in Kotlin.

Gaining an In-Depth Understanding of Generics in Kotlin

  • Understanding generic constraints.
  • Understanding variance and invariance in generics.
  • Using the "out" modifier to express covariance in generics in Kotlin.
  • Expressing contravariance in Kotlin.
  • Exploring type projections and star projections in Kotlin.
  • Summary of advanced generics in Kotlin.

Metaprogramming in Kotlin

  • Overview of reflection.
  • Using Java reflection with Kotlin via the Reflection API.
  • Utilizing Kotlin's Reflection API.
  • Handling type erasure in Kotlin.
  • Using reified generics in Kotlin.
  • Defining custom annotations in Kotlin.
  • Summary of metaprogramming and introspection techniques in Kotlin.

Performing Asynchronous Programming in Kotlin

  • Understanding the challenges of asynchronous programming.
  • Implementing asynchronous programming and coroutines in Kotlin.
  • Implementing async and await in Kotlin using coroutines.
  • Implementing yield in Kotlin.
  • Understanding the advantages of coroutines over reactive extensions.
  • Summary of coroutines in Kotlin.

Summary and Conclusion

Requirements

  • A solid understanding of Kotlin fundamentals.

Audience

  • Developers seeking to deepen their knowledge of Kotlin programming.
 21 Hours

Number of participants


Price per participant

Testimonials (7)

Upcoming Courses

Related Categories