We just published a comprehensive, free Kotlin course on the freeCodeCamp.org YouTube channel.

Whether you're targeting Android development, scalable backend services, or cross-platform applications, this course takes you from writing your first line of code to mastering asynchronous programming and reactive streams.

Here are the things covered in this course:

  • Fundamentals & Setup
    Installing IntelliJ IDEA, understanding the JVM, type inference, primitive types, control flow (when, loops), and Kotlin’s built-in null safety.

  • Functions & Collections
    Default arguments, vararg, lambda functions, arrays, collections (List, Set, Map), binary search, and error handling.

  • Modern OOP
    Primary/secondary constructors, init blocks, data classes, sealed classes, companion objects, singletons, delegation, and extension functions.

  • Deep-Dive Generics
    Variance (in/out), upper bounds, the where clause, and working around JVM type erasure using reified type parameters.

  • Coroutines
    Non-blocking asynchronous programming using launch, async, runBlocking, structured concurrency, timeouts, cancellations, and withContext.

  • Kotlin Flows & Reactive Streams
    Cold streams, intermediate and terminal operators (launchIn, asLiveData), exception transparency, retry logic, and lifecycle handling.

The course is completely free and available now on the freeCodeCamp.org YouTube channel (10-hour watch).