Get in Touch

Course Outline

Introduction

Kotlin Basics Refresher

Leveraging Advanced Functions in Kotlin

  • Utilizing Nested Functions to Reuse Functionality in Kotlin
  • Applying Infix Notation to Call Functions in Kotlin
  • Defining Anonymous Functions in Kotlin
  • Employing the Inline Modifier for Performance Optimization in Kotlin
  • Managing Returns and Local Returns with Advanced Functions in Kotlin
  • Implementing Tail Recursion for Optimization in Kotlin
  • Using Operator Overloading in Kotlin
  • Utilizing Lambdas with Receivers to Impose Constraints on DSLs in Kotlin
  • Invoking Instances in Kotlin
  • Applying Functional Constructs in Kotlin
    • Function Composition
    • Currying
    • Additional Constructs
  • Summary of Advanced Functional Features in Kotlin

Exploring Class Scenarios in Kotlin

  • Implementing Fields in Kotlin
  • Using the "lateinit" Modifier in Kotlin
  • Understanding Nested and Inner Classes in Kotlin
  • Defining "Static Methods" in Kotlin via Companion Objects
  • Hiding Class Constructors in Kotlin
  • Marking Classes as Sealed in Kotlin
  • Utilizing Type Aliases in Kotlin
  • Summary of Advanced Class Features in Kotlin

Implementing Delegation in Kotlin

  • Understanding Member Delegation Concepts in Kotlin
  • Delegating Member Functions to Another Class in Kotlin
  • Delegating Properties in Kotlin for Efficient Code Reuse
  • Utilizing Built-in Delegated Properties in Kotlin
  • Delegating Local Properties in Kotlin for Code Reuse
  • Implementing Extension Properties in Classes in Kotlin
  • Summary of Various Delegation Aspects in Kotlin

Deep Dive into Generics in Kotlin

  • Understanding Generic Constraints
  • Exploring Variance and Invariance in Generics
  • Using the "out" Modifier to Express Covariance in Kotlin Generics
  • 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

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

  • Familiarity with the fundamentals of Kotlin.

Target Audience

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

Number of participants


Price per participant

Testimonials (7)

Upcoming Courses

Related Categories