Improve your experience. We are very sorry but this website does not support Internet Explorer. We recommend using a different browser that is supported such as Google Chrome or Mozilla Firefox.

Kotlin Essentials

Discover why Google has pinned Kotlin as the preferred language for Android development with this two-day course. You will learn Kotlin development techniques and language principles, and will walk away knowing how to migrate existing Java projects to Kotlin.


This 2-day course introduces Kotlin, a new language for Android development. We will cover Kotlin development techniques, language principles, and how to migrate existing Java projects to Kotlin. We will also show why Google has pinned Kotlin as the future of Android development.

In the Atlanta area? Interested in commuting to an in person class? Contact to discuss commuting options and discounts.

Who should take this class?


  • Developers who are looking to explore the Kotlin language

  • Developers who wish to see both object-oriented and functional programming paradigms implemented in a modern JVM language

  • Developers interested in learning a language with multi-platform applications

  • Android developers who want to learn new skills to advance their career

  • Teams looking to upgrade their applications from Java to Kotlin

What you'll learn:


  • Fundamentals of Kotlin’s type system, including how to safely work with nullable types

  • How to efficiently represent series of data using arrays and collections

  • Functional programming techniques

  • Readable and writable properties in Kotlin

  • How to leverage structured concurrency to write efficient, safe coroutines

  • Java and Kotlin interoperability, including how to port your existing applications from Java to Kotlin

How to prepare:





  • Understand writable and read-only properties and take a look at Kotlin’s type system

  • Work with control flow statements as assignable expressions

  • Learn about defining class- and file-level functions and specifying their return types

  • Leverage Kotlin’s built-in numeric and string types

  • Differentiate nullable and non-nullable types and how to work with null safely

  • Understand safe exception handling in Kotlin


  • Learn how to represent series of data with mutable and read-only collection types

  • Take a closer look at collections, including destructuring, type checking, smart casting, and type parameter constraints

  • See how to pass functions as arguments, lambda notation, and function references

  • Use functional programming paradigms to write complex algorithms using just a few operations, including map, flatMap, associate, filter, zip, and fold

  • See Kotlin’s scope functions — apply, let, run, with, also, takeIf, and takeUnless — and use them to write more concise and idiomatic Kotlin code


  • Apply object-oriented programming concepts in Kotlin to define your own types

  • Learn about constructors, preconditions, and initialization requirements for object creation

  • Inherit and override class behavior using abstract and open classes

  • Define general sets of behaviors using interfaces

  • Learn how to use data classes and object declarations to create data wrappers and singletons with implementations that are automatically generated at compile time

  • Learn how to define algebraic data types with enums and sealed classes

  • See how to define value classes to create more efficient classes that wrap a single property


  • Understand type variance and generic type parameters

  • Use extensions to add functionality to a type without modifying the original class

  • Leverage coroutines to efficiently and safely move work between threads

Press enter to see more results