Kotlin Academy logo
KotlinWebMobileDataLevels A1 → C122 languages

Kotlin Academy

Advance your Kotlin skills and build modern applications with Kotlin Academy. A CoddyKit learning path of 51 short courses and 203 interactive lessons, with a 24/7 AI tutor at your side.

Courses
51
Lessons
203
Interactive steps
2,644
Free to start
Course 1
Curriculum

51 courses in this path

Every course in the Kotlin Academy path, in learning order. The first one is free.

1

A13 lessonsFree

Find out what Kotlin is, why Google made it the official Android language, and why developers who switch from Java never want to go back.

2

A14 lessonsPRO

Write and run your first Kotlin code. Explore val, var, basic types, and the Kotlin REPL with hands-on mini-exercises.

3

A14 lessonsPRO

Master Kotlin string interpolation, raw strings, and the rich String API with practical examples.

4

A24 lessonsPRO

Go beyond basic loops: master for-over-range, forEach, repeat, and iterator patterns unique to Kotlin.

5

A24 lessonsPRO

Learn to write and pass lambdas, use higher-order functions for the first time, and apply trailing lambda syntax.

6

A24 lessonsPRO

Kotlin Data Classes and Destructuring: Declaring Data Classes, copy and equals, and more.

7

A24 lessonsPRO

When Expressions and Smart Casts: when as Expression, Smart Casts, and more.

8

A24 lessonsPRO

Kotlin Ranges and Progressions: Range Operators, Step and downTo, and more.

9

A24 lessonsPRO

Create and access Kotlin lists, sets, and maps using builders and the standard library accessor functions.

10

A24 lessonsPRO

Kotlin Enum Classes: Defining Enums, Enum Properties and Methods, and more.

11

B14 lessonsPRO

Kotlin Null Safety Deep Dive: Nullable and Non-Null Types, Safe Calls and Elvis, and more.

12

B14 lessonsPRO

Dive deep into Kotlin's null-safety toolbox: safe-call chaining, let, Elvis fallbacks, and non-null assertions.

13

B14 lessonsPRO

Understand class initialization order, init blocks, backing fields, and property delegation patterns.

14

B14 lessonsPRO

Master data classes deeply: structural equality, copying with overrides, destructuring, and component functions.

15

B14 lessonsPRO

Learn Kotlin's object declarations, companion objects, and singleton patterns with practical use cases.

16

B14 lessonsPRO

Handle exceptions idiomatically in Kotlin: try-as-expression, runCatching, and custom exception hierarchies.

17

B14 lessonsPRO

Kotlin Scope Functions: let and run, apply and also, and more.

18

B14 lessonsPRO

Kotlin Collections Operations: Filtering and Mapping, Grouping and Partitioning, and more.

19

B14 lessonsPRO

Kotlin Sequences: Why Sequences, Creating Sequences, and more.

20

B14 lessonsPRO

Kotlin Nested and Inner Classes: Nested Classes, Inner Classes, and more.

21

B14 lessonsPRO

Write practical extension functions and properties for Android contexts, views, and collections.

22

B14 lessonsPRO

Build expressive data transformation pipelines using Kotlin's higher-order collection functions.

23

B14 lessonsPRO

Use apply, also, let, run, and with scope functions to write expressive object configuration and builder patterns.

24

B14 lessonsPRO

Kotlin Operator Overloading: Operator Functions, Comparison Operators, and more.

25

B14 lessonsPRO

Kotlin Infix and Tail-Recursive Functions: Infix Functions, Building DSL-like APIs, and more.

26

B14 lessonsPRO

Kotlin Type Aliases and Value Classes: Type Aliases, Inline Value Classes, and more.

27

B14 lessonsPRO

Kotlin Class Delegation: The by Keyword, Delegating to Members, and more.

28

B14 lessonsPRO

Kotlin Result and Error Modeling: The Result Type, runCatching, and more.

29

B24 lessonsPRO

Kotlin Generics and Variance: Generic Functions and Classes, Declaration-Site Variance, and more.

30

B24 lessonsPRO

Model finite state with sealed classes and interfaces, and write exhaustive when expressions for robust state handling.

31

B24 lessonsPRO

Build custom property delegates and use Kotlin's built-in delegates: lazy, observable, and vetoable.

32

B24 lessonsPRO

Go deeper into Kotlin generics: upper and lower bounds, variance, star projection, and type erasure workarounds.

33

B24 lessonsPRO

Master cooperative cancellation, timeout handling, and cleanup in Kotlin coroutines.

34

B24 lessonsPRO

Transform, combine, and handle errors in Kotlin Flow streams using operators and exception handlers.

35

B24 lessonsPRO

Kotlin Annotations and Reflection: Using Annotations, Defining Annotations, and more.

36

B24 lessonsPRO

Replace LiveData and BroadcastChannel with StateFlow and SharedFlow in modern Kotlin architectures.

37

B24 lessonsPRO

Use Kotlin inline functions for performance, eliminate lambda overhead, and access type information at runtime with reified.

38

B24 lessonsPRO

Inspect Kotlin types at runtime, write custom annotations, and process them with reflection for dynamic behavior.

39

B24 lessonsPRO

Build asynchronous HTTP servers and REST APIs with Ktor, using routing, plugins, content negotiation, and authentication.

40

B24 lessonsPRO

Interact with relational databases using Kotlin Exposed's DSL and DAO layers for type-safe, boilerplate-free SQL.

41

B24 lessonsPRO

Kotlin Serialization: kotlinx.serialization Setup, Serializable Classes, and more.

42

B24 lessonsPRO

Kotlin Testing with JUnit5 and MockK: Writing Tests with JUnit5, Assertions, and more.

43

B24 lessonsPRO

Kotlin Gradle Build Scripts: Gradle Kotlin DSL, Dependencies and Plugins, and more.

44

B24 lessonsPRO

Kotlin Multiplatform Mobile Basics: KMM Project Structure, expect and actual, and more.

45

C14 lessonsPRO

Communicate between coroutines using Channels and safely manage shared mutable state with Mutex and actors.

46

C14 lessonsPRO

Set up a Kotlin Multiplatform project and share domain logic, repositories, and use cases across platforms.

47

C14 lessonsPRO

Handle failures gracefully in concurrent Kotlin code using SupervisorJob, CoroutineExceptionHandler, and structured error isolation.

48

C14 lessonsPRO

Design expressive Kotlin DSLs using lambda receivers, type-safe builders, and scope restrictions with @DslMarker.

49

C14 lessonsPRO

Generate boilerplate-free code at compile time using KSP: write a custom processor, generate source files, and integrate with Gradle.

50

C14 lessonsPRO

Apply functional programming patterns in Kotlin with Arrow: Either, Option, typed errors, and functional domain modeling.

51

C14 lessonsPRO

Compile Kotlin to native binaries and WebAssembly: understand memory management, interop with C, and WASM deployment.

CoddyKit PRO

Unlock all 51 courses in this path, and every other path

AI tutor, certification exam and certificate. Works on web, iOS and Android.

See all plans
Yearly$29.90 / yearAbout $2.49 a monthPay onceLifetime$69.99 onceNo renewals. PRO forever.
Course Overview

Kotlin: Android's Primary Language, Now Everywhere

Kotlin is the officially preferred language for Android development and has expanded well beyond mobile — into server-side frameworks like Ktor, multiplatform targets including iOS and WASM, and functional programming with Arrow. Its null safety model, coroutines, and expressive type system make it a sharp tool for writing correct, concise code. This track covers everything from the first val declaration to building production-ready HTTP servers, shared KMP business logic, and type-safe DSLs.

What You Will Learn

You will work through null safety with safe calls and let chains, sealed interfaces and state machines, coroutine cancellation, Flow transformation and error handling, and StateFlow and SharedFlow patterns for reactive state. On the library and tooling side, you will build HTTP servers with Ktor, write type-safe SQL with Exposed, configure projects with Kotlin Gradle build scripts, test with JUnit5 and MockK, and process annotations at compile time with Kotlin Symbol Processing. Advanced courses cover Kotlin Multiplatform Mobile, Arrow for functional programming, and targeting Kotlin Native and WASM.

The Learning Path

Fifty courses span A1 through C1. The A1 and A2 courses establish syntax fundamentals — string templates, data classes, destructuring, when expressions, lambdas, and collection builders. B1 courses move into the language's distinguishing features: scope functions, extension recipes for Android, operator overloading, class delegation, and result-based error modeling. B2 goes deeper with generics and variance, reified generics with inline functions, custom property delegates, and the Ktor and Exposed integrations. The C1 capstone courses tackle channels and shared state, SupervisorScope and structured exception handling in coroutines, KMP shared business logic layers, type-safe configuration DSLs, KSP, and Arrow's functional programming model.

How It Works

Each course is split into short, focused lessons you complete in the built-in code editor with real-time feedback. An AI tutor is available whenever you get stuck, and the progression is designed so each concept builds directly on the one before it.

How You'll Learn

  1. 01

    Interactive Lessons

    Hands-on coding exercises with real-time feedback

  2. 02

    AI Tutor

    Get instant help from our AI when you're stuck

  3. 03

    Built-in Editor

    Write and run code directly in your browser

  4. 04

    Certificate

    Earn a certificate when you complete the course

FAQ

Frequently Asked Questions

Is the Kotlin Academy course free?

Yes. You can start the Kotlin Academy course for free and complete its interactive lessons at no cost. An optional PRO subscription unlocks advanced AI tools and a shareable certificate.

Do I need prior experience to learn Kotlin?

No. The course begins with the fundamentals and gradually moves to more advanced topics, so you can start even with no prior Kotlin experience.

How will I learn Kotlin on CoddyKit?

You learn by doing. Short interactive lessons pair a clear explanation with a hands-on coding exercise that runs in real time, and a 24/7 AI tutor gives personalized help whenever you get stuck.

Do I get a certificate for completing Kotlin Academy?

Yes. PRO learners can take an exam and earn a shareable certificate of completion with a verifiable code for the Kotlin Academy course.

Can I learn Kotlin on my phone?

Yes. CoddyKit is available on the web and as native iOS and Android apps, so you can learn Kotlin on any device and your progress syncs across them.

How much does CoddyKit PRO cost?

The first course of Kotlin Academy is free. CoddyKit PRO unlocks every course: $5.90 per week, $7.90 per month, $29.90 per year, or $69.99 once for lifetime access with no renewals.

How long does it take to complete Kotlin Academy?

Kotlin Academy has 51 courses and 203 lessons. Most lessons take about 5–10 minutes, so the whole path is roughly 24 hours of hands-on practice, at your own pace.

Start Kotlin Academy Now

Join thousands of learners mastering programming with AI-powered lessons.