Course Outline
Introduction
Review of Kotlin Fundamentals
Utilising Advanced Functions in Kotlin
- Employing Nested Functions to Promote Reusability in Kotlin
- Applying Infix Notation for Function Calls in Kotlin
- Declaring Anonymous Functions in Kotlin
- Leveraging the Inline Modifier for Performance Optimisation in Kotlin
- Managing Returns and Local Returns Within Advanced Functions in Kotlin
- Applying Tail Recursion for Optimisation in Kotlin
- Utilising Operator Overloading in Kotlin
- Using Lambdas with Receivers to Restrict DSLs in Kotlin
- Invoking Instances in Kotlin
- Applying Functional Constructs in Kotlin
- Function Composition
- Currying
- Additional Constructs
- Overview of Advanced Functional Aspects in Kotlin
Investigating Class Scenarios in Kotlin
- Implementing Fields in Kotlin
- Applying the "lateinit" Modifier in Kotlin
- Comprehending Nested and Inner Classes in Kotlin
- Defining "Static Methods" in Kotlin via Companion Objects
- Obscuring Class Constructors in Kotlin
- Designating Classes as Sealed in Kotlin
- Utilising Type Aliases in Kotlin
- Summary of Advanced Class Features in Kotlin
Implementing Delegation in Kotlin
- Understanding the Principle of Member Delegation in Kotlin
- Delegating Member Functions to Other Classes in Kotlin
- Delegating Properties in Kotlin for Enhanced Code Reuse
- Utilising Built-in Delegated Properties in Kotlin
- Delegating Local Properties in Kotlin to Facilitate Reusability
- Implementing Extension Properties within Classes in Kotlin
- Overview of Various Delegation Aspects in Kotlin
Developing a Comprehensive Understanding of Generics in Kotlin
- Understanding Generic Constraints
- Comprehending Variance and Invariance in Generics
- Using the "out" Modifier to Define Covariance in Kotlin Generics
- Defining Contravariance in Kotlin
- Exploring Type Projections and Star Projections in Kotlin
- Summary of Advanced Generics in Kotlin
Metaprogramming in Kotlin
- Overview of Reflection
- Utilising Java Reflection with Kotlin via the Reflection API
- Applying Kotlin's Reflection API
- Managing Type Erasure in Kotlin
- Utilising Reified Generics in Kotlin
- Creating Custom Annotations in Kotlin
- Summary of Metaprogramming and Introspection Techniques in Kotlin
Executing Asynchronous Programming in Kotlin
- Understanding Challenges in Asynchronous Programming
- Implementing Asynchronous Programming and Coroutines in Kotlin
- Applying Async and Await Patterns in Kotlin Using Coroutines
- Implementing Yield in Kotlin
- Comprehending the Benefits of Coroutines over Reactive Extensions
- Overview of Coroutines in Kotlin
Conclusion and Wrap-up
Requirements
- A solid grasp of Kotlin fundamentals
Target Audience
- Developers aiming to deepen their expertise in Kotlin programming
Testimonials (7)
As a Senior Java Engineer and Kotlin novice, I feel the course has given me the tools to start using Kotlin properly for future development projects.
Stewart Coates - DLA PIPER
Course - Advanced Kotlin Programming
Intensity of a course, coverage of topics. Complicated topics are explained on a good level, so even though there are some white spots left in of them (like DSL) -- it won't be hard to go on by myself as I already have a common understanding of basis and at least know how to form my questions to Google.
Alexey Baryshnev - C.T.Co SIA
Course - Advanced Kotlin Programming
A format - lot of new info, but it felt pretty understandable and comfortable to learn, most of it I managed to remember and use when necessary at the next topics.
Alina Karpovich - C.T.Co SIA
Course - Advanced Kotlin Programming
Trainer competence, wide subject knowledge. I have learned a lot new stuff, received valuable comments and answers to my questions.
Ilya Ginter - C.T.Co SIA
Course - Advanced Kotlin Programming
live communication and good answers to questions
Alexander Semyonov - C.T.Co SIA
Course - Advanced Kotlin Programming
Execute exercises in mode online, it is cool. Fast answer about additional questions
Oleg Sushik - C.T.Co SIA
Course - Advanced Kotlin Programming
Positive approach