Objectives

After completing this course, students will be able to:

  • Understand Kotlin language fundamentals
  • Create Kotlin Classes and Objects
  • Write functions and lambdas in Kotlin
  • Use Kotlin Generics
  • Implement Concurrency with Coroutines

Duration

Three days

Outline for Introduction to Kotlin

Kotlin Overview

  • History of Kotlin
  • Kotlin compared to other languages
  • Kotlin Features
  • Running Kotlin

Variables and Data Types

  • Numeric Types
  • Literals
  • Variables
  • Type Conversions

Keywords and Operators

  • Hard Keywords
  • Soft Keywords
  • Operators

Arrays and Strings

  • Arrays
  • Creating Arrays
  • Array Methods
  • Strings
  • Escaped Strings
  • Raw Strings

Loops and Conditionals

  • Loops
  • Ranges
  • Conditionals
  • If
  • When

Null Safety

  • Why Null Safety?
  • Nullable References
  • The Safe Call Operator
  • The Elvis Operator
  • The Not-Null Assertion Operator
  • Safe Casts

Object Orientation

  • Classes
  • Inheritance
  • Interfaces
  • Access
  • Data Classes
  • Sealed Classes

Functions and Lambdas

  • Functions
  • Higher Order Functions
  • Lambdas
  • Extension Functions

More Functions

  • Function Scope
  • Infix Functions
  • Operator Overloading
  • Inline Functions
  • Tail Recursion
  • Scope Functions

Advanced Object Orientation

  • Nested Classes
  • Object Expressions
  • Object Declarations
  • Companion Objects
  • Delegation
  • Generics

Collections

  • List
  • Set
  • Map
  • Collection Transformations

Concurrency

  • Threads
  • Coroutines

Calling Java from Kotlin

  • Calling Java from Kotlin
  • Issues

Calling Kotlin from Java

  • Java calling Kotlin
  • Issues

Kotlin Domain Specifi Languages (DSLs)

  • Domain Specifi Languages
  • Lambdas
  • Extension Functions
  • DSL Markers