Books & Videos

Table of Contents

Chapter: Part 1: Introduction

Welcome to the Course

00m 53s

Chapter: Part 2: Diving Deeper into functions

Local Functions in Kotlin

03m 14s

Infix Functions in Kotlin

02m 26s

Anonymous Functions in Kotlin

03m 18s

Inline Functions in Kotlin

11m 15s

Returns and Local Returns in Kotlin

07m 22s

Tail Recursion in Kotlin

04m 3s

Operator Overloading in Kotlin

05m 54s

Lambda Extensions in Kotlin

10m 14s

Invoking instances in Kotlin

06m 52s

Functional Constructs in Kotlin & Summary

05m 54s

Chapter: Part 3: Class Scenarios

Fields in Kotlin

03m 29s

Late Initialization in Kotlin

03m 21s

Nested Classes in Kotlin

05m 3s

Companion Objects in Kotlin

04m 28s

Hiding Constructors in Kotlin

01m 27s

Sealed Classes in Kotlin

08m 23s

Type Aliases in Kotlin & Summary

04m 15s

Chapter: Part 4: Delegation

The Concept of Delegation in Kotlin

02m 54s

Delegating Member Functions in Kotlin

04m 21s

Delegating Properties in Kotlin

06m 6s

Built-in Delegated Properties in Kotlin

04m 42s

Local Delegates in Kotlin

01m 17s

Extension Properties in Kotlin & Summary

02m 3s

Chapter: Part 5: Diving Deeper into Generics

Generic Constraints in Kotlin

04m 55s

Generics and Invariance

04m 25s

Covariance in Kotlin

03m 37s

Contravariance in Kotlin

01m 43s

Type Projections in Kotlin & Summary

03m 13s

Chapter: Part 6: Metaprogramming

An Introduction to Reflection

01m 30s

Using Java Reflection with Kotlin

05m 46s

Using Kotlin Reflection

13m 28s

Type Erasure on the JVM

04m 1s

Reified Generics in Kotlin

01m 54s

Custom Annotations in Kotlin & Summary

06m 34s

Chapter: Part 7: Asynchronous Programming

The Problem of Asynchronous Programming

04m 38s

Coroutines in Kotlin & Coroutine Implementation in Kotlin

03m 40s

Async and Await in Kotlin

02m 49s

Yields in Kotlin

01m 33s

Coroutines and Reactive Extensions in Kotlin & Summary

02m 52s

Chapter: Conclusion

Course Summary

00m 34s