Roadmap/Kotlin Core Programming
Beginner to Advanced

Kotlin Core Programming

Master Kotlin language fundamentals, advanced features, and modern programming paradigms from basics to expert level

14-16 weeks
18.5k students
4.9 rating
Progress0/110 lessons

Key Topics You'll Master

1
Kotlin Basics and Syntax
2
Control Flow and Functions
3
Null Safety and the Type System
4
Object-Oriented Programming
5
Collections and Data Structures
6
Functional Programming
7
Exception Handling and Error Management
8
Generics and Type Parameters
9
Coroutines and Async Programming (Language Intro)
10
Advanced Language Features
11
DSL Creation and Metaprogramming
+2
more...
Learning Outcomes
  • Write idiomatic and expressive Kotlin code
  • Master functional programming concepts in Kotlin
  • Understand and use advanced language features (value classes, contracts, context parameters)
  • Build type-safe domain-specific languages (DSLs)
  • Implement asynchronous programming with coroutines (intro here; deep dive in Coroutines course)
  • Use Kotlin reflection and metaprogramming
  • Apply design patterns and best practices
  • Develop Kotlin Multiplatform applications
Prerequisites
  • Basic programming concepts (variables, loops, functions)
  • Understanding of object-oriented programming
  • Familiarity with any programming language (Java, Python, C++, etc.)
  • Basic knowledge of software development principles
1
Kotlin Basics and Syntax
Foundation concepts, basic syntax, and getting started with Kotlin
2 weeks
Kotlin Introduction and Setup (K2 compiler, IntelliJ/AS)
video • 15 min
Variables and Data Types
video • 20 min
val vs var and Immutability
video • 18 min
String Templates and Operations
video • 15 min
Basic Input/Output Operations
video • 12 min
Comments and KDoc Basics
video • 10 min
Kotlin vs Java (syntax & semantics quick tour)
article • 15 min
Practice: Basic Kotlin Programs
exercise • 45 min
2
Control Flow and Functions
Control structures, function declarations, and program flow
1.5 weeks
if Expressions and when Statements
video • 22 min
Loops: for, while, do-while
video • 18 min
Ranges and Progressions
video • 15 min
Functions: parameters, defaults, named args
video • 20 min
Single-Expression Functions
video • 12 min
Return and Jump Expressions
article • 15 min
Practice: Control Flow Exercises
exercise • 40 min
3
Null Safety and the Type System
Kotlin's null safety and core type-system features
1.5 weeks
Nullable vs Non-nullable Types
video • 20 min
Safe Calls, Elvis, and let
video • 18 min
Not-null Assertion (!!) — why to avoid it
video • 12 min
Smart Casts and is-checks
video • 20 min
Scope Functions: run, with, apply, also
video • 22 min
Type Checking & Casting, Nothing/Unit/Any quick tour
video • 18 min
Null-Safety Best Practices
article • 12 min
Practice: Null-Safety Implementation
exercise • 35 min
4
Object-Oriented Programming
Classes, objects, inheritance, and OOP principles in Kotlin
2.5 weeks
Classes and Objects Basics
video • 25 min
Primary & Secondary Constructors; init
video • 22 min
Properties and Custom Accessors
video • 20 min
Inheritance, open/final, and Overriding
video • 25 min
Abstract Classes and Interfaces (incl. sealed interfaces)
video • 22 min
Visibility Modifiers
video • 18 min
Data Classes & Data Objects (Kotlin 1.9+)
video • 20 min
Sealed Classes & Exhaustive when
video • 22 min
Object Declarations, Companion Objects
video • 18 min
Nested and Inner Classes
article • 15 min
Practice: OOP Design Patterns
exercise • 60 min
5
Collections and Data Structures
Working with collections, sequences, and data manipulation
2 weeks
Arrays and Array Operations
video • 18 min
Lists: Mutable vs Read-only
video • 20 min
Sets and Maps Overview
video • 22 min
Collection Operations: filter/map/reduce
video • 30 min
Sequences for Lazy Evaluation
video • 25 min
Grouping, Partitioning, Windowing
video • 18 min
Sorting and Searching
video • 20 min
Custom Collection Operations
video • 22 min
Performance Considerations & immutability tips
article • 15 min
Practice: Data Processing Pipeline
exercise • 50 min
6
Functional Programming
Functional concepts, higher-order functions, and inline performance
2 weeks
Higher-Order Functions & Function Types
video • 25 min
Lambdas & Anonymous Functions (with receiver)
video • 22 min
Closures and Captured Variables
video • 18 min
inline/noinline/crossinline & performance
video • 22 min
Function Composition & Partial Application
video • 20 min
Tail Recursion (tailrec)
video • 18 min
Functional Patterns in Kotlin (Option/Result style)
article • 18 min
Practice: FP Challenges
exercise • 55 min
7
Exception Handling and Error Management
Exceptions, Result type, and defensive programming
1 week
Exception Hierarchy in Kotlin
video • 18 min
try/catch/finally Patterns
video • 20 min
Throwing & Custom Exceptions
video • 15 min
Result & runCatching; error mapping
video • 22 min
Best Practices (checked vs unchecked mindset)
video • 18 min
Defensive Programming Techniques
article • 15 min
Practice: Robust Error Handling
exercise • 35 min
8
Generics and Type Parameters
Generic programming, constraints, and variance
1.5 weeks
Generic Classes and Functions
video • 25 min
Type Parameters and where-Constraints
video • 22 min
Variance: in/out (use-site & declaration-site)
video • 30 min
Star Projections & Type Projections
video • 18 min
Reified Type Parameters & inline
video • 20 min
Type Inference tips & pitfalls
video • 15 min
Best Practices with Generics
article • 12 min
Practice: Generic Data Structures
exercise • 45 min
9
Coroutines and Async Programming (Language Intro)
Language-level intro so you can read coroutine code; the full deep-dive is a separate course.
1 week
Coroutines Fundamentals (suspend, builders, scopes)
video • 20 min
Dispatchers & withContext (overview)
video • 18 min
Flows at a Glance (cold vs hot)
video • 18 min
Exceptions & Cancellation — quick rules
article • 12 min
Practice: Async tasks with structured concurrency
exercise • 45 min
10
Advanced Language Features
Modern Kotlin features you’ll actually use
2 weeks
Extension Functions & Properties
video • 25 min
Operator Overloading (do’s & don’ts)
video • 20 min
Delegated Properties & patterns (lazy, observable, vetoable)
video • 22 min
Type Aliases & Destructuring
video • 18 min
Value Classes (a.k.a. inline classes) + @JvmInline
video • 20 min
Contracts (opt-in): callsInPlace, returns
video • 20 min
Context Parameters (replacing context receivers) — status & examples
article • 15 min
Annotations & Annotation Processing (kapt/ksp overview)
video • 25 min
Practice: Advanced Feature Implementation
exercise • 55 min
11
DSL Creation and Metaprogramming
Type-safe builders, receivers, and @DslMarker
1.5 weeks
DSL Design Principles
video • 20 min
Function Literals with Receiver
video • 25 min
Type-Safe Builders & nested scopes
video • 30 min
DSL Scope Control with @DslMarker
video • 18 min
HTML/SQL DSL Examples
video • 25 min
DSL Testing & Docs
article • 15 min
Practice: Custom DSL Development
exercise • 50 min
12
Reflection and Runtime Features
Kotlin reflection API and runtime type info
1 week
Reflection Basics & KClass
video • 22 min
Property & Function Reflection
video • 20 min
Callable References
video • 18 min
Runtime Annotation Processing (brief)
video • 20 min
Reflection Performance & alternatives
video • 15 min
Reflection Use Cases & pitfalls
article • 12 min
Practice: Reflection-Based Utilities
exercise • 40 min
13
Testing in Kotlin
Testing strategies and frameworks
1.5 weeks
Unit Testing Fundamentals
video • 20 min
JUnit 5 with Kotlin
video • 22 min
kotlin.test & Assertions
video • 18 min
Mocking with MockK
video • 25 min
Property-Based Testing (Kotest/quickcheck)
video • 20 min
Testing Coroutines (pointer to the full course)
video • 20 min
TDD workflow in Kotlin
article • 15 min
Practice: Comprehensive Test Suite
exercise • 50 min
14
Best Practices and Code Quality
Conventions, performance, and professional practices
1 week
Kotlin Coding Conventions & Style
video • 20 min
Static Analysis with Detekt & ktlint
video • 20 min
Performance: allocations, boxing, inline/value classes
video • 25 min
Memory & GC basics (JVM/Native notes)
video • 18 min
Opt-in APIs: @RequiresOptIn / @OptIn and stability levels
video • 18 min
Kotlin Evolution & K2 Migration Tips
article • 15 min
Capstone: Advanced Kotlin Application
exercise • 90 min