Training | Kotlin Fundamentals

Training designed to provide developers with a strong grasp of the basic concepts and features of the Kotlin programming language.



Kotlin is one of the most promising JVM languages and has seen immense growth over the last few years. The language is now being used in thousands of systems, including both backend and frontend. Kotlin is a multiplatform JVM language that was announced as the official programming language for Android by Google some years ago.

This course is designed for developers who want to grasp the language, so they can work with any Kotlin projects professionally.

Why Kotlin?

  • Concise: Drastically reduce the amount of boilerplate code.
  • Safe: Avoid entire classes of errors such as null pointer exceptions.
  • Interoperable: Leverage existing libraries for the JVM, Android, and the browser.
  • Multiplatform: Supporting JVM, iOS, Android, JS, Linux, Windows, Mac, and even embedded systems.
  • Tool-friendly: Choose any Java IDE or build from the command line.


  • One year of experience with any object-oriented or JVM language.
  • Desirable: some IntelliJ IDEA experience.
  • What you'll learn

    This course covers the essential topics for building Kotlin programs. We’ll cover all of the concepts that are required to master the language. Here is the table of contents:

    1. Introduction to Kotlin

    • Overview of Kotlin history
    • How to start your first Kotlin project using Intellij
    • REPL

    2. Kotlin Syntax

    • Defining properties - values and variables
    • Defining functions - named and default arguments
    • Expressions vs statements
    • Control structures
    • Type inference
    • String templates and multiline strings
    • Nullability

    3. Type System

    • Kotlin hierarchy
    • Classes, Objects, Interfaces
    • Data Classes
    • Enum Classes
    • Sealed Classes
    • When statements, exhaustive evaluation
    • Inline classes
    • Smart casting

    4. Functions

    • Functions
    • Lambdas
    • SAM conversions
    • Higher Order Functions
    • Extension functions
    • Lambdas with receiver

    5. Kotlin Standard Library

    • Pairs and Triples
    • Ranges and Progressions
    • Maps, Lists, Arrays, and Sets
    • Scope functions (let, run, with, apply, also)
    • Working with collections
    • Sequences

    6. Beyond Basics

    • Generic Types
    • Variance (in / out)
    • Operators and operator overloading
    • Kotlin DSLs
    • Kotlin contracts
    • Class and property delegation
    • Component destructuring

    7. Coroutines

    • Suspend
    • Desugaring coroutines
    • Continuations
    • Restrict Suspension
    • Coroutine contexts, dispatchers, and context shifting
    • Structured concurrency and cancellation
    • Exception handling and supervision
    • Flow
    • Channels

    8. Java Interoperability

    • How Kotlin works on JVM
    • Taking a look into the generated bytecode
    • Working with Java from Kotlin code
    • Working with Kotlin from Java code

    9. Libraries, ecosystem, and more!

    • Kotlin Multiplatform
    • Metaprogramming and Arrow Meta
    • Arrow FX and Arrow Streams

    After completing this course, you’ll be ready to tackle any professional projects.

Company and Private Group Training

Company and Private Group Training


This Kotlin Fundamentals includes:

  • Maximum Class Size of 15
  • Access to Academy EduTools Platform
  • Access to Course Materials
  • Certificate of Completion
  • Access to a Private Channel with Trainers in the Academy Slack
  • A Q&A session one week post-course
  • A pre-and-post meeting with our trainers