- Kotlin: what and why
- Kotlin basics
- Defining and calling functions
- Classes, objects, and interfaces
- Programming with lambdas
- The Kotlin type system
- Operator overloading and other conventions
- Higher-order functions: lambdas as parameters and return values
- Generics
- Annotations and reflection
- DSL construction