Learn Kotlin
Structured lessons from the basics up — follow the path below in order, at your own pace.
-
1
Level 1 — Beginner Beginner 35 lessons
Start here if you have never written a line of Kotlin before. No programming experience is required — work through these lessons in order, s...
Lessons in this module
What Is Kotlin? Why Learn Kotlin? What Can You Build With Kotlin? Installing Kotlin Setting Up Your Development Environment Your First Kotlin Program How Kotlin Code Runs Kotlin Syntax Basics Printing Output Variables: val and var Basic Types and Type Inference Numbers Strings and String Templates Working with Strings Booleans and Comparisons Operators Null Safety Working with Nullable Values Type Conversion Reading User Input Conditionals: if and else The when Expression for Loops and Ranges while and do-while Loops break and continue Lists Common List Operations Maps Sets and Pairs Functions Default and Named Arguments Scope Lambdas and Higher-Order Functions Collection Functions: map, filter, and fold Comments and Code Style -
2
Beginner Projects Beginner 1 lesson
Build these with nothing but what Level 1 covered — println , readln , variables, null safety, if and when , loops, collections, functions,...
-
3
Level 2 — Intermediate Intermediate 24 lessons
These lessons cover classes, data classes, inheritance and interfaces, objects, enums and sealed types, generics, extension functions, scope...
Lessons in this module
Classes and Objects Constructors, init, and Properties Data Classes Inheritance Interfaces Visibility Modifiers Objects and Companion Objects Enum Classes Sealed Classes and Interfaces Generics Extension Functions Scope Functions: let, run, with, apply, also Exceptions and Error Handling Type Checks and Casts Working with Collections Working with Files Dates and Times Gradle Basics Working with JSON Making HTTP Requests Testing with kotlin.test and JUnit Debugging Kotlin Java Interoperability Packages, Modules, and Code Style Tools -
4
Intermediate Projects Intermediate 1 lesson
Build these using classes, data classes, sealed types, extension functions, exceptions, files, Gradle, JSON, and tests from Level 2. Give ea...
-
5
Level 3 — Advanced Advanced 17 lessons
These lessons cover coroutines and Flow, delegation, inline and value classes, DSLs, advanced generics, Android with Jetpack Compose, Ktor,...
Lessons in this module
Coroutines: The Basics Structured Concurrency: async and Scopes Dispatchers, Cancellation, and Timeouts Flow: Asynchronous Streams StateFlow, SharedFlow, and Channels Delegation: lazy, observable, and by Inline Functions, reified, and Value Classes Type-Safe DSLs Advanced Generics: Variance Sequences and Performance Android with Jetpack Compose Android App Architecture Back-End Development with Ktor Kotlin Multiplatform Testing Coroutines and Code with Dependencies Security Fundamentals Shipping Kotlin: Deployment and CI/CD -
6
Advanced Projects Advanced 1 lesson
Build these using coroutines, Flow, Ktor, Compose, and the testing and deployment practices from Level 3. 1. REST API with Ktor Build a JSON...
-
7
What You Should Know Now — and What's Next 1 lesson
What You Should Know Now Core syntax: val and var , types, string templates, if and when expressions, loops, and ranges Null safety: nullabl...