Kotlin

Learn Kotlin. Make your program’s rules clear.

Build school reports while learning values, null safety, collections, objects and structured concurrent work.

Choose your starting point

New to Kotlin? Start with Foundations. You can switch anytime.

Foundations

Examples use Kotlin/JVM. Coroutine lessons require kotlinx.coroutines; local file and build exercises identify their environment.

Mallikarjuna Mallisetty, author
About the author

Mallikarjuna Mallisetty

General programming

Mallikarjuna shares practical programming tutorials and foundational concepts designed to help developers learn by building and experimenting.

View LinkedIn profile ↗

Your learning path

All lessons

41 lessons41 code examples46 quiz questions

Your progress is saved on this device.

Estimated time includes reading, exploring code and answering quizzes. Learn at your own pace.

Getting Started

3 lessons · 12 min
  1. What is Kotlin?1code examples1quiz questions4minutes estimated learning time
  2. Set up Kotlin and the JVM1code examples1quiz questions4minutes estimated learning time
  3. Hello World and console output1code examples1quiz questions4minutes estimated learning time

Values and Null Safety

6 lessons · 26 min
  1. Variables, val and var1code examples1quiz questions4minutes estimated learning time
  2. Numbers and explicit conversions1code examples1quiz questions4minutes estimated learning time
  3. Operators and Boolean conditions1code examples1quiz questions4minutes estimated learning time
  4. Strings, characters and templates1code examples1quiz questions4minutes estimated learning time
  5. Nullable types and safe calls1code examples2quiz questions6minutes estimated learning time
  6. Smart casts and early validation1code examples1quiz questions4minutes estimated learning time

Control Flow

4 lessons · 16 min
  1. If and else as expressions1code examples1quiz questions4minutes estimated learning time
  2. When expressions and matching1code examples1quiz questions4minutes estimated learning time
  3. For loops and ranges1code examples1quiz questions4minutes estimated learning time
  4. While and do-while loops1code examples1quiz questions4minutes estimated learning time

Collections

5 lessons · 22 min
  1. Arrays and indexed access1code examples1quiz questions4minutes estimated learning time
  2. Read-only and mutable lists1code examples2quiz questions6minutes estimated learning time
  3. Maps and key-based lookup1code examples1quiz questions4minutes estimated learning time
  4. Sets, pairs and destructuring1code examples1quiz questions4minutes estimated learning time
  5. Map, filter, fold and sequences1code examples1quiz questions4minutes estimated learning time

Functions and Behaviour

4 lessons · 16 min
  1. Functions and return values1code examples1quiz questions4minutes estimated learning time
  2. Named arguments and default values1code examples1quiz questions4minutes estimated learning time
  3. Lambdas and higher-order functions1code examples1quiz questions4minutes estimated learning time
  4. Extensions and scope functions1code examples1quiz questions4minutes estimated learning time

Modelling Data

10 lessons · 42 min
  1. Classes, objects and shared references1code examples1quiz questions4minutes estimated learning time
  2. Constructors and initialization checks1code examples1quiz questions4minutes estimated learning time
  3. Properties, getters and controlled methods1code examples1quiz questions4minutes estimated learning time
  4. Data classes, equality and copying1code examples2quiz questions6minutes estimated learning time
  5. Enums and sealed result types1code examples1quiz questions4minutes estimated learning time
  6. Inheritance, overrides and safe casts1code examples1quiz questions4minutes estimated learning time
  7. Interfaces and delegation1code examples1quiz questions4minutes estimated learning time
  8. Objects, companions and nested classes1code examples1quiz questions4minutes estimated learning time
  9. Generics and type constraints1code examples1quiz questions4minutes estimated learning time
  10. Visibility and encapsulation1code examples1quiz questions4minutes estimated learning time

Practical Kotlin

5 lessons · 21 min
  1. Read and validate console input1code examples1quiz questions4minutes estimated learning time
  2. Exceptions and deliberate failure handling1code examples1quiz questions4minutes estimated learning time
  3. Files and resource cleanup on the JVM1code examples1quiz questions4minutes estimated learning time
  4. Call Java APIs and inspect platform types1code examples1quiz questions4minutes estimated learning time
  5. Gradle projects and boundary tests1code examples1quiz questions5minutes estimated learning time

Concurrency

3 lessons · 17 min
  1. Coroutines and suspending functions1code examples1quiz questions5minutes estimated learning time
  2. Structured concurrency and cancellation1code examples2quiz questions6minutes estimated learning time
  3. Flows and safe shared state1code examples2quiz questions6minutes estimated learning time

Build a Project

1 lessons · 5 min
  1. Build a validated student report1code examples1quiz questions5minutes estimated learning time