← Languages

Kotlin

Full course · 21 lessons

Kotlin 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.

Knowledge Course
01

Getting Started with Kotlin

Install the compiler, run scripts, and meet the Kotlin playground.

45 min→
02

Variables and Data Types

val, var, type inference, and the core types.

60 min→
03

Numbers and Math

Integer types, floating point, overflow, and math APIs.

50 min→
04

Strings and String Templates

String literals, templates, and the string API.

60 min→
05

Control Flow

if expressions, when, and loops.

50 min→
06

Collections

Lists, sets, maps, and collection operators.

60 min→
07

Functions

Function declarations, default args, and lambdas.

60 min→
08

Classes and Objects

Classes, constructors, properties, and data classes.

75 min→
09

Inheritance and Interfaces

open classes, abstract classes, and interfaces.

75 min→
10

Null Safety

Nullable types, safe calls, and the Elvis operator.

50 min→
11

Exceptions and Error Handling

Throwables, try-catch, and custom exceptions.

60 min→
12

Generics

Generic types, variance, and reified types.

75 min→
13

Coroutines and Flow

suspend functions, coroutine scopes, and cold flows.

75 min→
14

File I/O and Serialization

Reading and writing files, and kotlinx.serialization.

60 min→
15

Advanced Collections

Sequences, grouping, and lazy evaluation.

60 min→
16

Functional Kotlin

Higher-order functions, immutability, and DSLs.

60 min→
17

Testing with Kotlin

Unit tests, JUnit, assertions, and test doubles.

60 min→
18

Channels and Structured Concurrency

Channels, select, and structured concurrency patterns.

75 min→
19

Gradle and Build Tooling

Project structure, dependencies, and build scripts.

60 min→
20

DSLs, Reflection, and Metaprogramming

Type-safe builders, reflection, and annotation processing.

75 min→
21

Performance and Best Practices

Inline functions, allocations, and idiomatic performance.

75 min→
Curated Resources