14 Best Kotlin Courses for 2024: Clean and Type-Safe
Learn Kotlin, Google’s preferred language for Android development, with these free and paid courses/books.
2024 is a milestone year, marking half a decade since Kotlin dethroned Java as the go-to language for Android development. If you’re embarking on Android development or seeking a modern language for the Java ecosystem that prevents the billion dollar mistake, is paradigm-agnostic, and less boilerplate-y, Kotlin is the clear choice.
In this Best Courses Guide (BCG), I’ve compiled a list of the best online courses and books to learn Kotlin, authored by Kotlin experts and even the designers behind Kotlin themselves. Whether you’re a complete newbie to programming, or perhaps you have decades of Java under your belt, I’m confident you’ll find your favorite here.
All the resources here are updated for Kotlin 1.6 (released Aug 2020) and above. You’ll learn all the latest and greatest features Kotlin has to offer: Coroutines & Flows, Jetpack Compose, Ktor, Vert.x, Arrow, and more.
Click on the shortcuts for more details:
- Top Picks
- What is Kotlin?
- Courses Overview
- Why You Should Trust Us
- Best Courses Guide (BCG) Methodology
Here are my top picks. Click on one to skip to the course details:
What is Kotlin?
Kotlin is a cross-platform general-purpose programming language created by JetBrains, the company behind the popular IntelliJ IDEA development tool.
One of the best things about Kotlin is that it’s designed to be easy to read and write (unlike Java), taking inspiration from languages like Java, Scala, and Swift. Even if you’ve never written a line of code before, you’ll find Kotlin’s clear and concise syntax simple to understand (unlike Java).
Kotlin is also incredibly versatile. It can be used for building Android apps with Jetpack Compose, web applications with Spring Boot, and even server-side programs with Ktor. This means that once you learn Kotlin, you’ll have a valuable skill set that can be applied across a wide range of projects and industries.
Another great thing about Kotlin is that it’s fully compatible with Java. This means that if you’re working on a project that uses Java libraries, you can still use Kotlin without any issues. This is especially helpful if you’re part of a team that uses Java, as you can start using Kotlin without disrupting the existing codebase.
Thanks to these conveniences, Kotlin has found itself to be more loved than Java, and while the Kotlin developer community is about a third of Java’s, that’s still a population of 5.1 million devs, and it’s still growing!
And if you’re wondering about salary, the estimated total annual pay for a Kotlin Developer in the US is $102K–122K according to Glassdoor and ZipRecruiter respectively. Not bad, eh 😉?
Courses Overview
- 10 resources are free or free-to-audit, whereas the rest are paid
- 5 resources are books, 5 contain videos, and the rest contain reading materials
- 6 resources assume no programming experience whatsoever, 5 assume some, and the rest are intermediate resources assuming a level of familiarity with Java or Kotlin.
Best Free Learning Platform for All (Jetbrains Academy)
What’s a better place to learn Kotlin than from the company behind Kotlin themselves?
Hyperskill is an online project-based learning platform where you’ll learn through hands-on coding. You’ll read the always up-to-date course notes, solve the coding problems, and then receive automated code review and feedback.
The courses are suitable for everyone regardless of experience. How? Before enrolling in a course, you’ll take a placement test to determine your current skill level to personalize your learning experience.
You can run exercises online, but I recommend you use the integrated IntelliJ IDEA plugin to get used to a professional code editor.
There are seven courses for Kotlin in total, but the three I’ve found the most useful are:
- Kotlin Core:
- 4.6/5.0 rating, with 90K enrollments
- 25 projects, 131 hours
- Is this your first time programming? Start here! You’ll learn the language syntax, computer science and programming concepts (including algorithms and OOP), and libraries. By the end, you’ll be able to work with professional development tools, write your own programs, and debug them.
- Kotlin Developer:
- 4.6/5.0 rating, with 37K enrollments
- 33 projects, 188 hours
- Interested in creating Android apps? This is the track for you. You’ll learn backend, frontend, and Android app development. Additionally, you’ll gain expertise in functional programming alongside testing, debugging, and data-organizing.
- Kotlin Backend Developer (Spring Boot):
- 4.6/5.0 rating, with 90K enrollments
- 15 projects, 83 hours
- You’ll cover Kotlin fundamentals, basic algorithms, and all the must-haves for building a runnable web application with the Spring Boot framework. Work with modern tools such as Gradle and Git to help you develop and maintain server-side apps.
All the features I’ve mentioned above, except for the real-world projects, are part of the free plan, which is pretty generous. But if you want access to the 300+ portfolio projects, unlimited trials to solve problems, as well as a certificate of completion, then you should invest in their premium subscription plan.
And if you need help, there’s plenty of places to search: check the exercise’s hints and comment sections. But if that isn’t enough, you can join Hyperskill’s official Discord where you can find like-minded individuals to band together with.
Institution | JetBrains Academy |
Provider | Hyperskill |
Prerequisites | None |
Workload | N/A |
Cost | Free / Paid |
Certificate | Paid |
Best Paid Book from Designers of Kotlin (Roman Elizarov)
Is reading books more your style? Look no further than Kotlin in Action, Second Edition the go-to resource for learning Kotlin, also from the language’s lead developers and designers.
This comprehensive, paid guide is perfect for Java and other OOP-oriented programmers who want to become proficient in Kotlin quickly. With its conversational writing style and abundance of practical examples, you’ll progress from the basics to building production-quality applications that leverage Kotlin’s unique features.
Inside, you’ll find:
- A thorough introduction to Kotlin statements, functions, classes, and types
- An exploration of functional programming on the JVM
- An in-depth look at the Kotlin standard library and its out-of-the-box features
- Guidance on writing clean and idiomatic code
- Strategies for seamlessly combining Kotlin and Java
- Techniques for improving code reliability with Null safety
- An introduction to domain-specific languages
- And finally, the most highly requested topic from first edition readers, a deep dive into Kotlin concurrency and mastering the kotlinx.coroutines library
The book is also suitable for experienced Kotlin developers looking to bring out the best from Kotlin, and can be read online or in paperback.
Publisher | Manning |
Provider | Independent |
Author | Roman Elizarov, Svetlana Isakova, Sebastian Aigner, and Dmitry Jemerov |
Prerequisites | None |
Workload | N/A |
Cost | Paid |
Certificate | None |
Best Free Course for Computer Science (University of Illinois)
You don’t need $$$ for top quality CS education, as this free course from the University of Illinois shows.
Learn CS Online is perfect for complete newbies to programming looking to gain a solid background in the Computer Science fundamentals. You’ll learn the same syllabus as first year CS students at UoI — including object-oriented programming, data structures, and algorithms — so you can be sure that the material you’re learning will be rigorous and rewarding. And you’ll do all of this in Kotlin!
Some other aspects of the course I love are:
- 199 hours of interactive live-coding walkthroughs allow you to pause and experiment with the code yourself, facilitating hands-on learning.
- 3000+ interactive explanations from 310 instructors, with a community of learners to reach out to for support
- A community of hundreds of instructors provides multiple alternative explanations for concepts, ensuring understanding
- 380+ programming exercises with code quality feedback help you practice and perfect your skills
- Debugging exercises throughout the lessons help you develop the critical ability to identify and fix mistakes
- The completely browser-based platform eliminates the need for additional software installation, making learning convenient.
This course is roughly 8 weeks long, with an expected study time of 5–6 hours per week (as the class is 3 credit hours on campus). You’ll primarily learn through interactive code walkthroughs, articles with code examples, and video content. You’ll act on what you’ve learned through small practice problems, homeworks, and tests.
Institution | University of Illinois |
Instructors | Geoffrey Challen and Colleen Lewis |
Prerequisites | None |
Workload | 32–40 hours |
Cost | Free |
Certificate | None |
Best Free Comprehensive Course for Android Development (Google)
Want to make Android apps in Kotlin, but don’t know where to start? Then Google’s Android Basics with Compose free course is just for you.
With over 100 hours worth of learning material, you’re in for a long ride. And the best part of all — you don’t need to know anything about programming or Android development whatsoever.
You’ll learn how to create Android applications with Kotlin, Android Studio, and Jetpack Compose: Android’s modern toolkit for building native UI declaratively. How? Through a hands-on learning approach with many videos, code labs, and quizzes to reinforce concepts. You’ll earn badges along the way as a way to showcase your skills on your Google Developer Profile.
Composed (get it?) of 8 units , the course covers:
- Kotlin programming fundamentals:
- Learn the basics of Kotlin programming language, including variables, data types, conditionals, functions, classes, and object-oriented programming concepts.
- Building Android app UI:
- Create simple to complex user interfaces using Jetpack Compose, learn how to display text, images, buttons, and lists, and implement Material Design principles for beautiful and intuitive apps.
- App architecture and navigation:
- Understand modern Android app architecture, use ViewModels and StateFlow to manage app state, and implement navigation between different screens using the Navigation component.
- Fetching and displaying data:
- Learn how to retrieve data from the internet using Retrofit, display images using the Coil library, store data locally using Room database and DataStore, and perform background tasks with WorkManager.
- Interoperability between Views and Compose:
- Discover how to use the older View-based UI toolkit alongside Jetpack Compose in the same app, allowing for gradual adoption of Compose and integration with existing libraries and components.
Quick disclaimer: If you don’t have any programming experience, I recommend you supplement this course with other (preferably interactive) courses in this guide.
Institution | |
Instructors | Daniel Galpin, Kat Kuan, and Meghan Mehta, Murat Yener, and Angie Sasmita |
Prerequisites | None |
Workload | 107 hours |
Cost | Free |
Certificate | None, but there are badges |
Best Free Easy-to-Follow Illustrative Guide (Dave Leeds)
Learning programming is often synonymous with slogging through endless walls of text or sitting through yawn-inducing videos. But it doesn’t have to be that way, as David Leeds shows in Kotlin: An Illustrated Guide.
In this free text-based guide, you’ll explore Kotlin programming the fun way, with oodles of illustrations, concrete explanations, and code examples. Each chapter begins with a story that provides context for the concepts you’ll learn, ranging from familiar tales like Goldilocks and the Three Bears to everyday scenarios like baseball and a bakery café.
With these tangible examples, you’ll find it a breeze to digest what you’ve learned, making this guide perfect for all programmers, whether they are new to Kotlin or looking to fill in gaps in their Kotlin knowledge.
Here’s an overview of what you’ll cover from this guide:
- Kotlin Basics
- OOP Fundamentals, including classes, enums, and interfaces
- Null Safety and Exception Handling
- Functional Programming Concepts
- Collections and Data Structures
- Generics
- Concurrency
Note: At the time of writing, 18 out of 20 chapters have been published, with the last update being on the 26th of March. I can’t wait for the chapter on coroutines to be finished.
Institution | typealias.com |
Instructor | Dave Leeds |
Prerequisites | Basic programming experience |
Workload | N/A |
Cost | Free |
Certificate | None |
Best Free YouTube Course for Beginners (freeCodeCamp)
If you want a free, comprehensive YouTube tutorial to the Kotlin programming fundamentals, then the best one so far is Learn Kotlin Programming – Full Course for Beginners on freeCodeCamp.
Developed by Alexandru Cristian, you’ll learn Kotlin programming from the ground up, starting from the basics like downloading the necessary software, to creating your first program, and then moving on to more advanced topics.
The course is designed for both complete beginners to programming as well as experienced programmers who want to learn Kotlin. You’re expected to follow along with the instructor as he codes.
The course covers:
- Introduction and Setting up Intellij IDEA IDE
- Basic Concepts (Variables, Data Types, Operators)
- Control Flow
- Functions
- Loops and Arrays
- Object-Oriented Programming (OOP) Basics
- OOP Advanced Concepts, such as abstract classes and interfaces
- Collections and Data Manipulation with functional programming
- Generics
Loved the course? You can find 50 hours more of content (including Android 14 development) in Cristian’s paid Udemy course here.
Institution | freeCodeCamp |
Provider | YouTube |
Instructor | Alexandru Cristian |
Prerequisites | None |
Workload | 13–14 hours |
Views | 600K |
Likes | 13K |
Cost | Free |
Certificate | None |
Best Free Coding Koans for Java Devs (Jetbrains Academy)
If you’re an experienced Java developer who wants to go through the fundamentals of Kotlin fast and easy, then Kotlin Koans are for you! Paired with the Kotlin docs, these two resources are basically all you need to strengthen your Kotlin programming skills.
These series of 40+ hands-on coding exercises will get you familiar with Kotlin syntax. Each exercise is created as a failing unit test, and your job is to make it pass. After which, you can compare your solution with the intended one and check for improvements.
You can solve these exercises online through the website or in your IntelliJ IDE using the Jetbrains Academy plugin. Read the instructions for more info.
Institution | Jetbrains Academy |
Provider | Independent |
Prerequisites | Basic programming experience |
Workload | N/A (43 exercises) |
Cost | Free |
Certificate | None |
Best Free No-Nonsense Hands-On Text Guide (Gabriel Shanahan)
Gabriel Shanahan’s The Kotlin Primer is probably the most underrated guide to Kotlin in this article.
It’s an opinionated, straight-forward, no-nonsense text guide to the Kotlin language intended to help developers adopt Kotlin inside Java-centric organizations. It used to be paywalled, but is now completely free!
Consisting of around 100 chapters, you’ll learn Kotlin from the ground up. But even if you already know some Kotlin, you’ll still be able to bring home some lessons from the guide, as it also covers the ‘soft’ aspects of Kotlin programming and software development in general.
As for practice, you’ll have plenty of opportunities to play around and experiment with Kotlin! Gabriel provides you with interactive online code examples and exercises — a rare find for a free course.
You’ll cover the following topics in this course:
- Introduction:
- Covers Kotlin language basics, focusing on syntax, types, and features like string templates, nullability, and higher-order functions.
- Classes — What we know from Java:
- Highlights class aspects that differ slightly from Java. You’ll understand the primary constructor, properties, variance, and generics
- Classes — What is different:
- Covers Kotlin-specific class features like reified type parameters, data classes, sealed hierarchies, inline classes, objects, and delegation. You’ll master modeling error states with sealed classes for better code maintainability
- Extension functions:
- Read and understand the entire section on extension functions, as it is crucial for Kotlin development
- Standard library:
- Focuses on the Kotlin standard library, with special attention to programming with Result, functional programming, sequences, and pausing functions.
Provider | Independent |
Author | Gabriel Shanahan |
Prerequisites | Basic familiarity with Java |
Workload | N/A (≈100 chapters) |
Cost | Free |
Certificate | None |
Best Paid Course for Async Kotlin (Lukas Lechner)
If you’re doing Android development with Kotlin, then you will need to understand asynchronous programming, whether you like it or not.
Luckily, Kotlin has coroutines: a concurrency design pattern that greatly simplifies async programming. However, learning coroutines requires learning a lot of new concepts, which can be overwhelming especially if you haven’t touched async programming before.
Luckily, Lukas Lechner and his 7 years of professional experience as an Android developer is here to help!
In this paid Udemy course, you’ll gain a deep understanding of Kotlin Coroutines and Flows, including their advantages and common use cases. Through video lectures, coding exercises, and programming projects, you’ll:
- Understand essential concepts such as Coroutine Builders, Coroutine Context, Structured Concurrency, Exception Handling, and Unit Testing for coroutine-based code.
- Create a live stock-tracking feature using Flow, enabling you to write readable, maintainable, asynchronous, and multithreaded Android applications.
Provider | Udemy |
Instructor | Lukas Lechner |
Prerequisites | Basic Kotlin experience |
Workload | 16 hours |
Enrollments | 7.5K |
Rating | 4.7/5.0 (1.3K) |
Cost | Paid |
Certificate | None |
Best Paid Book for Design Patterns and Best Practices (Alexey Soshin)
Kotlin Design Patterns and Best Practices (2nd edition) is a paid book aimed towards Java developers who have used design patterns before and want to learn how to implement them in Kotlin.
It gently introduces you to Kotlin, guiding you through design patterns and best practices for developing applications, from your classic factories and builders to concurrent design patterns. You’ll also put these patterns to practices, such as in developing concurrent microservices with Ktor or reactive ones with Vertx.
The book is split into three sections:
- Classical Patterns
- Reactive and Concurrent Patterns
- Practical Application of Design Patterns
The code repository for the book can be found here, and the book itself can be read digitally or in paperback.
Note: Third 3rd edition of this book is scheduled to be published on May 9, 2024. This overview is on the 2nd edition, which covers Kotlin 1.2 to 1.5. I will update once the 3rd edition is out.
Publisher | Packt |
Provider | Independent |
Author | Alexey Soshin |
Prerequisites | Basic Java experience |
Workload | N/A (356 pages) |
Rating (Amazon) | 4.5/5.0 (54) |
Cost | Paid |
Certificate | None |
Best Paid Kotlin Refactoring Book for Java Devs (McGregor and Pryce)
One of the most significant challenges Java developers encounter when adopting Kotlin is unlearning Java-specific habits and thinking in Kotlin. Luckily, Duncan McGregor and Nat Pryce’s paid book, Java to Kotlin, is here to help.
With the authors’ 55 years of combined experience on both the JVM and other platforms, as well as glowing reviews from the authors of Head First Kotlin and the host of the Talking Kotlin podcast, you’re absolutely in the right hands.
You’ll learn:
- A systematic approach to refactoring Java code to idiomatic Kotlin, with a focus on on projects and organizations
- The benefits of Kotlin over Java, such as null safety, data classes, and functional programming features.
- How to gradually migrate a Java codebase to Kotlin step-by-step, while maintaining interoperability between the two languages.
- Best practices, tips, and tricks for writing clean, concise, and maintainable Kotlin code.
Want a glimpse of the content? You can find the supplemental resource to the book in the companion site as well as a YouTube playlist where Duncan refactors Java to Kotlin code live.
Institution | O’Reilly |
Authors | Duncan McGregor and Nat Pryce |
Prerequisites | Familiarity with Java and basic experience with Kotlin |
Workload | N/A (423 pages) |
Rating (Amazon & Goodreads) | 4.6/5.0 (25) & 4.6/5.0 (29) |
Cost | Paid |
Certificate | None |
Best Paid Book Series for Kotlin Deep Dive (Marcin Moskala)
Marcin Moskala is the founder of Kt. Academy (a premier JetBrains Kotlin training partner) and a Google Developer Expert in Kotlin, who has held talks at Droidcon and KotlinConf.
His Kotlin for Developers’ Series is one of the best places to level up your Kotlin skills. It’s suitable for complete beginners to Kotlin, as well as intermediate Kotlin developers looking to deepen their knowledge of Kotlin and pick up best practices.
His books are conversational and straightforward, with code examples and diagrams to help illustrate the learning material.
The Kotlin for Developers series are made up of five books, meant to be read in the order presented below, but you can skip to any book if you have the prerequisite knowledge:
- Kotlin Essentials
- Start here if you’re new to Kotlin. Covers all the basic Kotlin features.
- Functional Kotlin
- Dedicated to functional Kotlin features, including function types, lambda expressions, collection processing, DSLs, and scope functions.
- Kotlin Coroutines: Deep Dive
- Covers all the features of Kotlin Coroutines, including how to use and test them, using flow, best practices, and the most common mistakes.
- Advanced Kotlin
- Dedicated to advanced Kotlin features, including generic variance modifiers, delegation, multiplatform programming, annotation processing, KSP, and compiler plugins.
- Effective Kotlin: Best Practices
- If you can only read one book from this series, read this one. You’ll learn over 50 best practices when using Kotlin.
Institution | Kt. Academy |
Provider | Independent |
Author | Marcin Moskala |
Prerequisites | Basic programming experience |
Workload | N/A |
Cost | Free |
Certificate | None |
Best Free Concise Course for Android Development (Kodeco)
Learn Kotlin Android development by creating Your First Kotlin Android App in this 2-hour free course from Kodeco.
In this concise crash course, you’ll work alongside the instructor step-by-step to build a guessing game app using Kotlin and Android Studio. By the end of the course, you’ll have the fundamentals of Kotlin and Android development needed to turn you from a complete novice to an accomplished Android developer.
No Android development experience is required to take this course.
You will:
- Build Bull’s Eye, a guessing game, using Kotlin and Android Studio
- Create a user interface using XML and the Design View
- Connect the layout to code, adding interactivity and working with activities
- Learn Kotlin basics, including variables, conditionals, loops, functions, and classes
- Explore the Kotlin Standard Library to leverage pre-built tools for common functionalities.
To reinforce your learning, the course also includes several hands-on challenges to help you practice your newly acquired skills.
Institution | Kodeco |
Instructor | Emmanuel Okiche |
Prerequisites | Basic programming experience |
Workload | 2 hours total |
Cost | Free |
Certificate | None |
Best Free Hands-on Course for Beginners (Codecademy)
Learn Kotlin by Codecademy introduces you to the fundamental programming concepts through interactive hands-on learning. It starts from the very bottom with data types and variables, and you’ll climb your way up, learning functions and classes.
No prior programming experience is required to take this free limited-access 15-hours long course.
You’ll learn:
- How to write your first “Hello World!” program
- Variables and their various data types
- Collections that store data as an ordered or unordered structure
- How to make decisions and repeat instructions using conditionals and loops
- Writing a function for code reuse
- Object-oriented programming, and how they allow you to construct code as classes and objects.
If you have Codecademy Pro, you’ll earn a certificate when you complete the course. Furthermore, you’ll also be given portfolio projects and quizzes that’ll strengthen your Kotlin programming skills.
Institution | Codecademy |
Instructors | Galina Podstrechnaya and Alex DiStasi |
Prerequisites | None |
Workload | 15 hours total |
Cost | Free / Paid |
Certificate | Paid |
What Next?
So you’ve gone through a few of these Kotlin resources, what now? Here are some suggestions to explore:
-
- Join a Kotlin developer community:
- A great way to stay engaged and motivated is by surrounding yourself with like-minded developers. The Kotlin Slack is the largest community by far. Most of your favorite authors (and JetBrains staff) are in it, so drop in and say hi to them! Apart from Slack, the r/Kotlin subreddit and the Kotlin JetBrains Forum are also good and active places to stay up-to-date.
- Join a Kotlin developer community:
- Listen to Kotlin Podcasts:
-
-
- Talking Kotlin is a great resource for staying up-to-date with the latest developments in the Kotlin ecosystem. Hosted by Hadi Hariri, a developer advocate at JetBrains, you’ll find interviews with Kotlin experts, discussions on best practices, and insights into the language’s evolution.
-
- Follow Kotlin Youtubers:
-
- If podcasts aren’t your thing, you can pick up the latest and greatest features and best practices from these YouTubers, well-respected in the Kotlin community: Philipp Lackner, Stevdza-San, and CodingWithMitch. Note that they mostly focus on Android content.
- Build your own projects:
- Put your Kotlin skills to the test by building your own projects from scratch. Building projects allows you to explore different aspects of Kotlin, experiment with libraries and frameworks, and create a portfolio to showcase your abilities (check kotlin.link for inspiration). Consider sharing your projects on GitHub to get feedback and inspire others.
Why You Should Trust Us
Class Central, a Tripadvisor for online education, has helped 60 million learners find their next course. We’ve been combing through online education for more than a decade to aggregate a catalog of 200,000 online courses and 200,000+ reviews written by our users. And we’re online learners ourselves: combined, the Class Central team has completed over 400 online courses, including online degrees.
Best Courses Guide (BCG) Methodology
I built this ranking following the now tried-and-tested methodology used in previous BCGs (you can find them all here). It involves a three-step process:
- Research: I started by leveraging Class Central’s database and the internet. Then, I made a preliminary selection of 400+ Kotlin courses by rating, reviews, and bookmarks.
- Evaluate: I read through reviews on Class Central, Reddit, and course providers to understand what other learners thought about each course and combined it with my own experience as a learner.
- Select: Well-made courses were picked if they presented valuable and engaging content, fit a set of criteria and be ranked according to comprehensive curriculum, affordability, release date, ratings and enrollments.