---
title: Kotlin
description: Kotlin is a concise JVM language and the primary language for Android. You will learn null safety, coroutines, data classes and functional idioms, and how Kotlin interoperates with Java.
category: programming-tech
subcategory: programming-languages
difficulty: beginner, intermediate, advanced
url: /subject/kotlin
---

# Kotlin

Kotlin is a concise JVM language and the primary language for Android. You will learn null safety, coroutines, data classes and functional idioms, and how Kotlin interoperates with Java.

## Available Resources

2 Books • 3 Courses • 3 Websites

## Courses

### 1. Android Basics with Compose

**Author:** Android Developers team

Google's free eight-unit Android curriculum taught entirely in Kotlin. The first three units teach language fundamentals - classes, collections, lambdas, data classes - before layering on Compose UI, ViewModels, navigation, coroutines with Retrofit, and Room persistence.

**Difficulty:** Beginner | **Language:** English | **Price:** Free

**Link:** https://developer.android.com/courses/android-basics-compose/course

**Tags:** android, jetpack-compose, kotlin, mobile-development, coroutines

### 2. Kotlin Koans

**Author:** JetBrains

Designed specifically for Java developers crossing over. A graded series of failing unit tests you fix to internalize Kotlin idioms: nullable types, lambdas, collection operations, extension functions, delegated properties and builders. Playable free in the browser or inside IntelliJ IDEA via the JetBrains Academy plugin.

**Difficulty:** Intermediate | **Language:** English | **Price:** Free

**Link:** https://kotlinlang.org/docs/koans.html

**Tags:** kotlin, kotlin-idioms, java-to-kotlin, interactive-exercises, extension-functions

### 3. Advanced Programming in Kotlin

Meta's Coursera course on Kotlin features beyond the basics: object and companion declarations, extension functions, lambdas, higher-order functions, and collection operations like map and fold, ending in a restaurant menu app built with them.

**Difficulty:** Intermediate | **Language:** English | **Price:** Free

**Link:** https://www.coursera.org/learn/advanced-programming-in-kotlin

**Tags:** kotlin, lambdas, higher-order-functions, extension-functions, collections

## Books

### 1. Kotlin in Action, Second Edition

**Author:** Sebastian Aigner, Roman Elizarov, Svetlana Isakova, Dmitry Jemerov

The structural anchor for this topic. Uniquely explains why the language is shaped as it is - how nullable types compile, why inline functions exist, what the JVM does underneath - which no tutorial or doc page attempts. Four Kotlin team members, including coroutines designer Roman Elizarov, cover types and null safety, higher-order functions, data classes, generics, reflection, DSL construction and Java interoperability, plus new chapters on coroutines, flows and structured concurrency.

**Difficulty:** Intermediate | **Language:** English | **Price:** Paid

**Link:** https://www.amazon.com/dp/161729960X?tag=edmonddante07-20

**Tags:** kotlin, jvm, coroutines, generics, java-interoperability, dsl

### 2. Atomic Kotlin

**Author:** Bruce Eckel, Svetlana Isakova

Bruce Eckel and Kotlin team member Svetlana Isakova break the language into small self-contained atoms, each followed by exercises solvable inside IntelliJ IDEA. Assumes no prior programming experience and builds steadily to lambdas, generics and functional idioms.

**Difficulty:** Beginner | **Language:** English | **Price:** Paid

**Link:** https://www.amazon.com/dp/0981872557?tag=edmonddante07-20

**Tags:** kotlin, programming-fundamentals, functional-programming, exercises

## Websites

### 1. Coroutines and Flow - Official Kotlin Guide

**Author:** JetBrains / kotlinx.coroutines team

The kotlinx.coroutines reference guide: suspending functions, structured concurrency, cancellation and timeouts, dispatchers and coroutine context, exception handling, channels, shared mutable state, and Flow. Written by the library team, with runnable examples attached to every concept.

**Difficulty:** Advanced | **Language:** English | **Price:** Free

**Link:** https://kotlinlang.org/docs/coroutines-guide.html

**Tags:** kotlin, coroutines, structured-concurrency, kotlin-flow, asynchronous-programming

### 2. Kotlin Tour (Official Interactive Tour)

**Author:** JetBrains

The canonical zero-friction entry point. JetBrains' interactive browser tour of Kotlin, running from hello world through null safety, classes and collections into an intermediate track on extension functions, scope functions and generics. Every snippet is editable and executable, no install needed.

**Difficulty:** Beginner | **Language:** English | **Price:** Free

**Link:** https://kotlinlang.org/docs/kotlin-tour-welcome.html

**Tags:** kotlin, programming-languages, null-safety, generics, interactive-tutorial

### 3. Kotlin Programming Language (Official Site)

The official Kotlin website maintained by JetBrains, with the language reference, getting-started guides, tutorials, the standard library API docs and an online playground for JVM, Android and multiplatform development. Learners can go from installation to idiomatic Kotlin using primary documentation.

**Difficulty:** Beginner | **Language:** English | **Price:** Free

**Link:** https://kotlinlang.org

**Tags:** kotlin, language-reference, jvm, kotlin-multiplatform, documentation

---

*This content is part of Dantes.io - Your Treasure Map to Knowledge*

*Curated by humans at Dantes.io. Personal study use welcome; republishing this curation requires permission (team@dantes.io).*

View this page online: https://dantes.io/subject/kotlin