General-purpose languages
Write concise, null-aware applications for Android and server-side platforms.
fun main() {
val message = "Hello from Kotlin"
println(message)
}COURSE CURRICULUM
Finish one section at a time or jump directly to a concept you need.
Learn how kotlin projects, jvm targets, and tooling works in Kotlin, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how expressions, declarations, and idioms works in Kotlin, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how val, var, scope, and smart casts works in Kotlin, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how nullable types, data classes, and sealed types works in Kotlin, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how operators, ranges, and extension functions works in Kotlin, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how when expressions and exhaustive decisions works in Kotlin, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how collections, sequences, and iteration works in Kotlin, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how functions, lambdas, and generic variance works in Kotlin, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how lists, maps, sets, and immutable views works in Kotlin, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how strings, templates, and regular expressions works in Kotlin, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how exceptions, result, and null-safe boundaries works in Kotlin, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how packages, gradle, and multiplatform structure works in Kotlin, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how classes, interfaces, delegates, and composition works in Kotlin, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how files, coroutines, flows, and cancellation works in Kotlin, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how testing kotlin and coroutine behavior works in Kotlin, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.