Kotlin Tutorial
Learn Kotlin step by step through 82 structured lessons. The course starts with essential concepts and progresses toward practical, advanced topics, with explanations, syntax, examples, common mistakes and exercises you can try yourself.
- Level: Beginner to advanced
- Format: 82 free, self-paced lessons
- Best for: Students, career changers and developers refreshing their skills
What You Will Learn
This learning path covers the following areas in curriculum order:
- Kotlin Fundamentals
- Kotlin Basics
- Control Flow
- Null Safety
- Functions
- Classes and Objects
- Object-Oriented Features
- Collections
- Functional Collection Operations
- Generics
- Error Handling
- Coroutines
- Delegation and Advanced Features
- Kotlin in Practice
- Best Practices
Who This Course Is For
This tutorial is suitable for complete beginners as well as learners who already know some programming and want a structured reference. Start from the first lesson if the subject is new to you. Experienced learners can use the curriculum below to jump directly to a specific concept.
How to Use This Tutorial
- Read each lesson in curriculum order and run every example yourself.
- Change the examples to test your understanding instead of only copying them.
- Complete the exercises and review the common-mistake sections before moving on.
- Bookmark this course page so you can return to the complete lesson index.
Course Contents
Kotlin Fundamentals
- Kotlin Introduction
- Installing Kotlin
- Kotlin Get Started (Hello World)
- How Kotlin Works: The JVM and Interop with Java
- Compiling and Running Kotlin
- Kotlin Scripts vs Programs
Kotlin Basics
- Variables: val and var
- Basic Types
- Type Inference
- Nullable Types and the Safe Call Operator
- String Templates
- Type Conversion
Control Flow
- if as an Expression
- when Expressions
- for Loops and Ranges
- while and do-while Loops
- break, continue, and Labels
Null Safety
- Null Safety Explained
- The Safe Call Operator (?.)
- The Elvis Operator (?:)
- The Not-Null Assertion (!!)
- Safe Casts and let
Functions
- Functions in Kotlin
- Default and Named Arguments
- Single-Expression Functions
- Lambda Expressions
- Higher-Order Functions
- Extension Functions
- vararg Parameters
Classes and Objects
- Classes in Kotlin
- Primary and Secondary Constructors
- Properties and Fields
- Data Classes
- Inheritance and open Classes
- Interfaces
- Abstract Classes
Object-Oriented Features
- The object Keyword and Singletons
- Companion Objects
- Sealed Classes and Interfaces
- Enum Classes
- Visibility Modifiers
- Nested and Inner Classes
Collections
Functional Collection Operations
- map, filter, and forEach
- reduce and fold
- sortedBy and groupBy
- Sequences and Lazy Evaluation
- Chaining Collection Operations
Generics
Error Handling
Coroutines
- Coroutines Introduction
- suspend Functions
- launch and async
- Coroutine Scope and Dispatchers
- Structured Concurrency
Delegation and Advanced Features
- Property Delegation
- lazy Delegated Properties
- Class Delegation
- Operator Overloading
- Destructuring Declarations
- Inline Functions
Kotlin in Practice
- Reading and Writing Files
- Working with JSON
- Kotlin and Java Interop
- Unit Testing with kotlin.test
- Scope Functions: let, run, with, apply, also
Best Practices
- Kotlin Naming Conventions
- Idiomatic Kotlin vs Java-Style Kotlin
- Common Kotlin Mistakes
- Kotlin for Android: A Quick Orientation
- Kotlin Command Reference
Frequently Asked Questions
Is this Kotlin tutorial free?
Yes. The lessons listed on this page are free to read and can be completed at your own pace.
Do I need previous experience?
No previous experience is required for the introductory lessons. Some advanced modules are easier if you first complete the fundamentals in this course.
How should I practise?
Type and run the examples, deliberately change their inputs, predict the result before execution and build a small project after completing each major section.
Related Programming Courses
Continue building connected skills with these structured learning paths:
