Kotlin
Full course · 21 lessonsKotlin is the modern JVM language that is now the primary language for Android development. It is concise, expressive, and fully interoperable with Java. These are the definitive free resources — vetted, current, and complete.
Getting Started with Kotlin
Install the compiler, run scripts, and meet the Kotlin playground.
Variables and Data Types
val, var, type inference, and the core types.
Numbers and Math
Integer types, floating point, overflow, and math APIs.
Strings and String Templates
String literals, templates, and the string API.
Control Flow
if expressions, when, and loops.
Collections
Lists, sets, maps, and collection operators.
Functions
Function declarations, default args, and lambdas.
Classes and Objects
Classes, constructors, properties, and data classes.
Inheritance and Interfaces
open classes, abstract classes, and interfaces.
Null Safety
Nullable types, safe calls, and the Elvis operator.
Exceptions and Error Handling
Throwables, try-catch, and custom exceptions.
Generics
Generic types, variance, and reified types.
Coroutines and Flow
suspend functions, coroutine scopes, and cold flows.
File I/O and Serialization
Reading and writing files, and kotlinx.serialization.
Advanced Collections
Sequences, grouping, and lazy evaluation.
Functional Kotlin
Higher-order functions, immutability, and DSLs.
Testing with Kotlin
Unit tests, JUnit, assertions, and test doubles.
Channels and Structured Concurrency
Channels, select, and structured concurrency patterns.
Gradle and Build Tooling
Project structure, dependencies, and build scripts.
DSLs, Reflection, and Metaprogramming
Type-safe builders, reflection, and annotation processing.
Performance and Best Practices
Inline functions, allocations, and idiomatic performance.
Free Books
Kotlin in Action (Chapters Free)
The authoritative book on Kotlin by the language designers. Full text available via Manning liveBook with free preview chapters covering core language features.
Atomic Kotlin (Free Chapters)
A modern approach to learning Kotlin by Bruce Eckel and Svetlana Isakova. Free sample chapters with hands-on exercises.
Kotlin Docs - Idioms
A collection of idiomatic Kotlin patterns that teach the language through common use cases and best practices.
Official Documentation
Kotlin Language Docs
The complete official documentation covering syntax, coroutines, multiplatform, and tooling.
Kotlin Playground
Interactive browser-based Kotlin sandbox. Write, compile, and share Kotlin code instantly.
Kotlin Standard Library Reference
Complete API reference for the Kotlin standard library with detailed documentation for every function and extension.
Interactive Courses
JetBrains — Kotlin Basics Track
The official JetBrains interactive course covering Kotlin fundamentals, OOP, functional programming, and coroutines with hands-on exercises.
freeCodeCamp — Kotlin Course
Free comprehensive Kotlin tutorials and courses covering Android development and backend programming.
Video Courses
Practice & Challenges
Exercism — Kotlin Track
100+ free coding exercises with automated analysis and optional human mentoring.
Codewars — Kotlin Kata
Solve community-created challenges in Kotlin across hundreds of difficulty levels.
LeetCode — Kotlin Support
Practice data structures and algorithms using Kotlin for interview preparation.
Reference & Cheatsheets
News & Updates
Community
Reddit r/kotlin
The largest Kotlin community on Reddit for news, discussions, and showcase projects.
Kotlin Slack (Official)
The official Kotlin Slack community with channels for beginners, multiplatform, coroutines, and library authors.
Kotlin Discord
A real-time chat community of Kotlin developers for Q&A, code review, and project collaboration.

