Advanced Kotlin Programming Certificate for Andrey Balakhanov
Certificate ID:
698319
Authentication Code:
37f5e
Certified Person Name:
Andrey Balakhanov
Trainer Name:
Marcin Moskala
Duration Days:
3
Duration Hours:
21
Course Name:
Advanced Kotlin Programming
Course Date:
21 November 2022 09:00 to 23 November 2022 16:00
Course Outline:
Introduction
Refresher on Kotlin Basics
Using Advanced Functions in Kotlin
- Using Nested Functions to Reuse Functionality in Kotlin
- Using the Infix Notation to Call Functions in Kotlin
- Declaring Anonymous Functions in Kotlin
- Using the Inline Modifier for Efficiency in Kotlin
- Implementing Returns and Local Returns When Working with Advanced Functions in Kotlin
- Implementing Tail Recursion for Optimization in Kotlin
- Using Operator Overloading in Kotlin
- Using Lambdas with Receivers to Create Restrictions on DSL's in Kotlin
- Invoking Instances in Kotlin
- Using Functional Constructs in Kotlin
- Function Composition
- Currying
- Other Constructs
- Summary of Advanced Functional Aspects of 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 Using Companion Objects
- Hiding Class Constructors in Kotlin
- Marking Classes as Sealed in Kotlin
- Using Type Aliases in Kotlin
- Summary of Advanced Features of Kotlin for Classes
Implementing Delegation in Kotlin
- Understanding the Concept of Member Delegation in Kotlin
- Delegating Member Functions to Another Class in Kotlin
- Delegating Properties in Kotlin for Code Reuse Efficiency
- Using Built-in Delegated Properties in Kotlin
- Delegating Local Properties in Kotlin for Code Reuse
- Implementing Extension Properties in Classes in Kotlin
- Summary of the Different 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 the Concept of Type Projections and Star Projections in Kotlin
- Summary of Advanced Generics in Kotlin
Metaprogramming in Kotlin
- Overview of Reflection
- Using Java Reflection with Kotlin Using the Reflection API
- Using 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 Problem 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