Disclosure: Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Best Courses Guides

10 Best Free Kotlin Courses to Take in 2022

Here is a guide with the best online courses to learn Kotlin, a cross-platform programming language used everywhere from server-side to Android app dev

In this article I’ve picked the best online courses to learn Kotlin, a cross-platform, general-purpose programming language created by JetBrains. It was designed to be easy to learn for beginners with human-friendly syntax and less boilerplates required. It was recently chosen as the preferred language for Android development in 2019, but is also used in server-side development among other uses.

Here are my top picks. Click on one to skip to the course details:

Course Workload In Brief
1. Kotlin Basics (JetBrains) 108 hours long Best overall for beginners
2. Learn CS Online: An Introduction to Computer Science (University of Illinois) 32–40 hours long Best university level course
3. Android Basics in Kotlin course (Google) 3–9 weeks long Best for learning Android development
4. Kotlin for Java Developers (JetBrains) 25 hours long Best for Java programmers
5. Your First Kotlin Android App: An App From Scratch (raywenderlich.com) 2 hours long Best concise course
6. Kotlin: An Illustrated Guide (typealias.com) 2–3 hours long Best text-based course
7. Learn Kotlin (Codecademy) 15 hours long Best interactive course
8. Kotlin Bootcamp for programmers (Google) 1–2 hours long Best for experienced programmers
9. Kotlin Course – Tutorial for Beginners (freeCodeCamp) 2–3 hours long Best YouTube course
10. Android Basics with Compose (Google) 3–6 weeks long Best for learning with Jetpack Compose

What is Kotlin?

Kotlin is a cross-platform general-purpose programming language created by JetBrains, the company that also created IntelliJ IDEA. It was designed to be statically-typed to remove boilerplate code notoriously found in Java but to also provide modern functional programming features. Its syntax and functionality was inspired by several modern language like Scala, Swift, C#, and Groovy, which has made it much easier to learn for complete beginners. In fact, it is the 11th most loved programming language according to the 2022 Stack Overflow Developer Survey.

Kotlin can be used almost everywhere Java is used today, from server-side development to Android development. Not only that, it is also fully interoperable with Java, meaning that you can call Java libraries in Kotlin code. Hence, experienced Java programmers will find the transition to Kotlin completely seamless.

It is easy to see why Google has replaced Java for Kotlin as the preferred programming language for Android development. Since then, it has risen in popularity to become one of the 30 most popular languages according to the TIOBE Index. And if you are wondering about the salary, the estimated total pay for a Kotlin Developer is $100K+ per year according to Glassdoor.

Find your next course on Class Central

Best Courses Guides Methodology

I built this ranking following the now tried-and-tested methodology used in previous Best Courses Guides (you can find them all here). It involves a three-step process:

  1. Research: I started by leveraging Class Central’s database with 100K online courses and 200K+ reviews. Then, I made a preliminary selection of 100+ courses by rating, reviews, and bookmarks.
  2. 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.
  3. Select: Well-made courses were picked if they presented valuable and engaging content and they have to fit in a set of criteria and be ranked accordingly: comprehensive curriculum, release date, ratings and enrollments.

Course Ranking Statistics

Here are some aggregate stats about the ranking:

  • Combined, the courses account for 132K enrollments.
  • All of the courses in this ranking are free or free-to-audit.
  • All of the courses except for one are suitable for beginners.
  • Around 1K people are following Class Central’s Kotlin Topic.

1. Kotlin Basics (JetBrains)

My #1 pick for the best Kotlin course is Kotlin Basics by Jetbrains Academy.

This free course by the creators of Kotlin themselves provides all the Kotlin essentials to give you a feel for this popular programming language as you build fully functional applications.

This course is suitable for both complete beginners and those with programming experience. First, you’ll pick a project with its difficulty ranging from easy to challenging. This ensures that your learning is driven by a practical goal. Then, the course generates a personalized study plan for you by quizzing you on your pre-existing programming knowledge.

As this course was developed by the creators of IntelliJ, the course integrates seamlessly into IntelliJ. All code will be run and tested through the IDE.

What You’ll Learn

You’ll begin the course by learning the core programming concepts found in every programming language. You’ll master variables, data types, control flow statements, loops, functions, and much more. Additionally, you’ll be introduced to some computer science topics like algorithms, data structures, software constructions, and programming principles. These will help you write efficient programs, no matter the programming language.

Next, you’ll dive deeper into the Kotlin language. You’ll take a look at collections like maps and sets, the Kotlin standard library, interfaces that define the behavior of a specific piece of code, and generics that allow blocks of code to be accessed by different types.

Object-oriented programming (OOP) is a fundamental aspect of Kotlin. You’ll be trained on the pillars of OOP like classes and objects, along with more advanced topics like special classes and constructors.

Finally, you’ll one up your knowledge by learning how to work with professional development tools like the Java Virtual Machine, ironing out bugs in your program, writing clean code, and working with the files.

How You’ll Learn

This course is 108 hours long. It’ll take you 22 weeks to complete the course if you study 5 hours a week. You’ll learn by going through the course articles which come with a quiz to test your memory.

You’ll be going through the course in the context of completing a project of your choice. If you have a personal or organizational subscription, you’ll receive a certificate upon finishing a project.

Institution JetBrains Academy
Provider Hyperskill
Level Beginners
Workload 108 hours
Enrollments 41K
Rating 4.7 / 5.0
Certificate Paid

Fun Facts

  • Hyperskill is JetBrains’ learning platform. It currently hosts 20 courses on various programming languages like Java, Python, Go, and SQL.
  • The course has a Problem of the day, where you can practice solving random problems to help strengthen your coding skills.

If you’re interested in this course, you can find more information about the course and how to enroll here.

2. Learn CS Online: An Introduction to Computer Science (University of Illinois)

My second pick for the best Kotlin course is Learn CS Online: An Introduction to Computer Science by the University of Illinois.

This free course is perfect for complete newbies to programming as it teaches you the fundamentals of Computer Science through Kotlin. This course mirrors the syllabus of university students on campus, so you can be sure that the material you’re learning is rigorous and rewarding.

Additionally, if you have any questions, the course forums are staffed by helpful instructors and volunteers who are happy to help!

No prior experience with programming is needed to take this course.

What You’ll Learn

‘Hello, World!’. This perennial phrase appears everywhere in the programming world, and this course is no different. You’ll learn the basics of how programs work in this course. You’ll explore how variables can have different types, and then move on to conditionals that enable programs to make decisions.

Your first data structure will be the array that puts data values in order. You’ll learn how to iterate through the array to retrieve each element with loops. You’ll also be introduced to algorithms, a series of steps to be performed with a definite end goal.

Functions can be found everywhere in programming. You’ll learn how to define your own functions, before moving on to more intermediate topics like nullability, immutability, Kotlin’s standard libraries, and data structures (also called collections) like maps and sets.

Object-oriented programming (OOP) is a major theme in Kotlin programming. You’ll investigate the modeling of real-world systems with classes and objects. You’ll also uncover the main pillars of OOP, like inheritance, encapsulation, and polymorphism. After that, you’ll learn how to handle nasty exceptions when they inevitably occur and interfaces which allow interactions between two systems.

The final lessons of the course go through the common algorithms and data structures taught in every CS syllabus. You’ll dive further into data structure, especially analyzing their efficiency, like linked lists, maps, hash tables, and graphs. You’ll accompany these data structures with sort and search algorithms and learn the advantages and disadvantages of each data structure and algorithm. Only after studying data structures and algorithms can you be confident in the efficiency of your programs!

How You’ll Learn

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
Instructor Geoffrey Challen and Colleen Lewis
Level Beginners
Workload 32–40 hours total
Certificate None

Fun Facts

  • If you want to learn Java as well, you’re in luck — the lessons and exercises are also available in Java.
  • The course has 2,304 interactive explanations from 242 instructors, which includes 163 hours of live coding walkthroughs.
  • Additionally, there are 132 programming problems covering all core language features — that’s a lot of problems to practice!

If you’re interested in this course, you can find more information about the course and how to enroll here.

3. Android Basics in Kotlin (Google)

My third pick for the best Kotlin course is Android Basics in Kotlin by Google.

This free course teaches beginners with no programming experience how to build Android apps. Along the way, students learn the fundamentals of programming, the basics of the Kotlin programming language, and how to use Android Studio through hands-on programming in labs and projects. In addition, the course will also prepare you for the Associate Android Developer certification exam.

Basic computer literacy and basic math skills are recommended prerequisites, along with access to a computer that can run Android Studio.

What You’ll Learn

You’ll begin the course by setting up Android Studio on your computer and learning the basic Kotlin concepts! You’ll develop two apps, a static birthday card app for someone’s special day and an interactive dice roller app, before practicing designing UI layouts by building two more apps: a tip calculator app and a daily affirmations app. This will involve learning about data structures like lists and arrays and object-oriented programming concepts like classes and inheritance.

So far, you have only created apps with a single screen, so you’ll expand further by adding multiple screens that users can navigate between. You’ll learn about Jetpack navigation components and how to maintain a healthy app architecture. You’ll create a word-lister app, a dessert-clicker app, a word-unscrambler game, and a cupcake app that ties everything you’ve learnt previously.

Time to connect your app to the internet! You’ll explore how to retrieve the latest information from a server, like an app that displays the most recent images of Mars. This will also be your first introduction to integrating third-party libraries into your code, as well as concurrency and coroutines, two highly important topics that allow you to run and coordinate multiple lines of code at the same time.

Relational databases ensure that data can be saved and maintained between processes, and SQL is the language of relational databases. You’ll use SQL and the Room library to guarantee data persistence. Finally, you’ll wrap up the course with Jetpack’s WorkManager API to schedule necessary background work, regardless of whether the application process is still running.

How You’ll Learn

Depending on your proficiency, the course will take between 3–9 weeks to complete.

Android Basics in Kotlin is organized into units, and each unit is made up of a series of pathways. Each pathway consists of videos and codelabs, which you’ll primarily learn from.

At the end of each pathway, there is a quiz to assess what you’ve learned so far. Each completed quiz will earn you a badge that can be saved to your Google Developer Profile to showcase your skills.

Institution Google
Instructors Daniel Galpin, Kat Kuan, and Meghan Mehta
Level Beginners
Workload 3–9 weeks
Certificate Only badges (free)

Fun Facts

  • The predecessor of this course was hosted on Udacity, before being updated and moved over to the Android website.
  • You can find other free courses created by Google in Google Digital Garage.

If you’re interested in this course, you can find more information about the course and how to enroll here.

4. Kotlin for Java Developers (JetBrains)

If you’re an experienced developer who knows Java and wants to learn Kotlin, this free-to-audit course is for you.

Kotlin for Java Developers introduces Kotlin through the lens of Java programming by comparing similarities and differences between the two languages. You’ll not only get a grasp of the Kotlin language, but you’ll also understand how Kotlin can interoperate with Java code, which means you can keep your Java modules the way they are.

The course doesn’t cover the programming fundamentals, so it is not suitable for beginners.

What You’ll Learn

The course begins with a history of the Kotlin language and why it became the preferred programming language for developing in Android. Then, you’ll learn the basic syntax of Kotlin, like variables, functions, control structures, as well as extension functions that extend classes. You’ll see that Kotlin is really similar to Java, and that you can even mix Java and Kotlin code in the same project as they both compile to Java Bytecode.

Unlike Java, all types are non-nullable by default. You’ll learn how to create nullable types and safely work with them to prevent nasty errors like null point exceptions. You’ll also explore the functional programming features in Kotlin that make it a truly modern language.

Don’t worry, object-oriented programming is still a thing in Kotlin, although the syntax is wildly different (getters and setters aren’t required!). You’ll also learn about constructs like properties and operator loading, along with Kotlin programming conventions.

The Kotlin standard library is incredibly powerful in that simple functions bring no performance overhead whatsoever if you inline them! You’ll learn all about the library, as well as a few other key topics like Kotlin’s type hierarchy and collections vs sequences in the final module of this course.

How You’ll Learn

This course is 5 weeks long with 25 hours worth of material. You’ll learn by watching the lecture videos that come with in-video questions and by completing small playground tasks with solutions.

For verified learners, you’ll have access to the end-of-module assignments which test your Kotlin programming skills.

Institution JetBrains
Provider Coursera
Instructor Andrey Breslav and Svetlana Isakova
Level Beginners
Workload 25 hours total
Enrollments 91K
Rating 4.7 / 5.0 (1.8K)
Certificate Paid

Fun Facts

  • The course has 322 bookmarks on Class Central.
  • Svetlana is a developer advocate at JetBrains and the co-author of two books about Kotlin, Kotlin in Action and Atomic Kotlin.

If you’re interested in this course, you can find more information about the course and how to enroll here.

5. Your First Kotlin Android App: An App From Scratch (raywenderlich.com)

Your First Kotlin Android App: An App From Scratch by raywenderlich.com walks you through building a complete Android app in Kotlin from start to finish. You’ll additionally learn XML for building the interfaces. By the end of the course, you’ll have the fundamentals of Kotlin to turn you from a complete novice to an accomplished Android developer.

The free course is designed to be hands–on, where you’ll build the app together with the instructor step-by-step.

No programming or Android development experience is required to take this course.

What You’ll Learn

You’ll start the course by being tasked with building Bull’s Eye, a simple game where players have to guess the target value using a slider. You’ll understand the reason behind why most modern Android apps are developed using Kotlin.

Then, you’ll download and set up Android studio and download the components required to start developing Android apps. Next, you’ll create a basic user interface for the Bull’s Eye app. You’ll do this using both XML, a markup language like HTML, and the Design View.

In the next part of the course, you’ll learn how to connect the layout you created to code to add interactivity, like displaying a popup dialog whenever a button is tapped. You’ll accomplish this by learning how to work with something called an activity in Android. You’ll also learn how to refactor your code to reduce the amount of lines of code it takes to implement the functionality.

In the process of building the app, you’ll learn about the basics of Kotlin. You’ll learn about variables, conditional statements, loops,  functions, classes, and other language features. You’ll finally learn how to work with the Kotlin Standard Library which provides lots of tools so that you don’t need to reinvent the wheel for common functionalities.

How You’ll Learn

This course is 2 hours long, split into three sections. You’ll learn by watching the lecture videos and following along with the instructor as he codes. The course also contains several hands-on challenges where you get to practice what you’ve learned on your own.

Institution raywenderlich.com
Instructor Emmanuel Okiche
Level Beginners
Workload 2 hours total
Certificate None

Fun Facts

  • Raywenderlich.com’s mission is to create a world-class educational platform and community for mobile developers.
  • They have over 20+ free courses on various topics mostly related to mobile development.

If you’re interested in this course, you can find more information about the course and how to enroll here.

6. Kotlin: An Illustrated Guide (typealias.com)

If you prefer an article-based approach to learning, then Kotlin: An Illustrated Guide is for you.

As the name suggests, this free course covers the fundamentals of Kotlin through handy illustrations and visuals. It builds concept on concept, so that even complete beginners can grow into proficient Kotlin developers.

No prerequisites are required to take this course.

What You’ll Learn

Variables, expressions, statements, and data types are the foundation of most programming languages. These combined with functions, which takes an input and returns an output, allow you to write simple programs such as calculating the perimeter of a circle. You’ll also learn about conditionals that enable the program to make decisions, specifically the `when` and `if` statements.

With these basic concepts out of the way, you can finally get a taste of object-oriented programming (OOP), a programming paradigm used especially to write graphical-based applications. This will involve learning about classes and objects. One special kind of class is enum, which is used to represent a limited number of values.

Sometimes, a variable might not actually hold a value. These are called nulls, and they can sometimes be a headache to work with. You’ll be instructed on how to use them effectively in your program, along with lambdas that are essentially functions without names.

Collections are a unique way of structuring data. You’ll study lists that contain sequences of values and sets which are lists that only contain unique values. You’ll also learn about maps that allow you to pair values together. Then, you’ll learn how to loop through them to retrieve every value from them.

Finally, you’ll end the course by learning about standalone functions and object functions, along with receivers and extensions.

How You’ll Learn

This course is 2–3 hours long. You’ll learn by reading through the well-illustrated articles and taking notes of the code examples provided.

Institution typealias.com
Instructor Dave Leeds
Level Beginners
Workload 2–3 hours total
Certificate None

Fun Facts

  • The author of the course is still releasing chapters. You can receive announcements of new chapters by following his Twitter.

If you’re interested in this course, you can find more information about the course and how to enroll here.

7. Learn Kotlin (Codecademy)

Learn Kotlin by Codecademy introduces you to the fundamental programming topics through interactive hands-on learning. You’ll start from the bottom with data types and variables and climb your way up to the top with functions and classes such that you’ll have a firm grasp on Kotlin.

No prior programming experience is required to take this free limited-access course.

What You’ll Learn

You’ll begin the course by going through the fundamentals of programming, starting with “Hello World!”. Then, you’ll learn about variables and the basic data types represented in Kotlin, before moving on to the more advanced data types called collections. You’ll learn how to represent lists or mathematical sets of data in Kotlin.

Moving on, you’ll learn about conditional expressions that allow you to control the flow of code, or in other words, allow your program to make decisions. You’ll pair this with loops that repeat blocks of code and see how conditionals, loops, and lists can work together to create complex programs.

Functions are named, reusable code blocks that can be called throughout a program. You’ll learn how to create one yourself, add arguments to it, and see how they greatly simplify the code-writing process. Finally, the course ends with object-oriented programming, an important programming paradigm that allows you to construct code as classes and objects, and is especially useful in developing applications.

How You’ll Learn

This course is 15 hours long. You’ll learn by going through the interactive tutorials and exercises that’ll test your understanding of Kotlin through hands-on programming.

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
Level Beginners
Workload 15 hours total
Certificate Paid

Fun Facts

  • Codecademy was co-founded by Zach Sims and Ryan Bubinski, with the goal of giving  anyone in the world the ability to learn the skills they’d need to succeed in the 21st century.
  • They offer free courses in 12 different programming languages, the most popular ones being Python, Java, Ruby, C++, C#, and Swift.

If you’re interested in this course, you can find more information about the course and how to enroll here.

8. Kotlin Bootcamp for programmers (Google)

Kotlin Bootcamp for programmers teaches you the basics of Kotlin as you create various small programs in IntelliJ IDEA.

To take this course, you’ll need some programming experience in the object-oriented paradigm, preferably in Java or C#.

Note: This course is also available on Udacity if you prefer learning from videos.

What You’ll Learn

You’ll begin the course by setting up your programming environment like IntelliJ IDEA. Then, you’ll practice the basic programming concepts: data types, operators, variables, booleans, and conditions. You’ll get used to Kotlin’s way of creating nullable and non-nullable variables, arrays, lists, and loops.

Moving on, you’ll learn how to define functions, creating small programs as you learn about default values, compact functions, list filters, basic lambdas, and higher-order functions.

Classes, objects, and inheritance should be familiar to you as an OOP developer. You’ll engage in Kotlin’s style of OOP by implementing abstract and generic classes, an interface implemented in subclasses, by using interface delegation. You’ll also learn about collections, constants, and extension functions along the way.

In the final lessons, you’ll explore annotations and labeled breaks, as well as explore some of the features inspired by functional programming. You’ll wrap up the course by utilizing lambdas and higher-order functions and learn about some useful higher-order functions in the Kotlin Standard Library.

How You’ll Learn

This course is 1–2 hours long. You’ll learn by reading through the codelabs and completing the homework assignments.

Institution Google
Level Intermediate
Workload 1–2 hours total
Certificate None

Fun Facts

  • Likewise with the 3rd course in this ranking, the predecessor of this course was hosted on Udacity, before being updated and moved over to the Android website.

If you’re interested in this course, you can find more information about the course and how to enroll here.

9. Kotlin Course – Tutorial for Beginners (freeCodeCamp)

Kotlin Course – Tutorial for Beginners aims to provide you with an understanding of Kotlin such that you can build complex applications across mobile, web and native code. You’ll move from basic topics like setting up your first project up to more advanced things like modeling data and working with higher order functions.

You don’t need any prior experience with programming to take this course.

What You’ll Learn

You’ll begin the course by developing your first Kotlin project in IntelliJ IDEA. You’ll learn how to work with variables and Kotlin’s type systems, before experimenting with the basic control flow statements. You’ll also learn how to set parameters when defining a function.

Arrays, lists, and maps are some common data structures you’ll encounter when programming. You’ll learn how to utilize them, including iterating with forEach, and their properties, like mutability.

Moving on, you’ll learn the basics of object-oriented programming (OOP). You’ll discover how classes and objects can model the real world.  You’ll learn about all different kinds of classes, like abstract, enums, sealed, and data.

Interfaces provide ‘code contracts’ for classes. You’ll learn how to inherit code from an interface before finishing the course with extension functions, higher-order functions, and exploring the Kotlin standard library.

How You’ll Learn

This course has 2–3 hours worth of material. You’ll learn by watching the lecture video and following along with the instructor as he codes.

Institution freeCodeCamp
Provider YouTube
Instructor Nate Ebel
Level Beginner
Workload 2–3 hours
Views 1.2M
Likes 22K
Certificate None

Fun Facts

  • The course has 12 bookmarks on Class Central.
  • If you like Nate’s style of teaching, check out more of his videos on his channel called goobar.

If you’re interested in this course, you can find more information about the course and how to enroll here.

10. Android Basics with Compose (Google) 

Android Basics with Compose is similar to the 3rd course in the listing in that you’ll learn the same fundamentals of Kotlin programming to build Android apps, but using JetPack Compose. Compose is a modern toolkit for building native UI but designed to simplify UI development in Android.

This free course is for both beginners and existing developers. If you are new to programming, start at the beginning of the course. Else, you can skip some of the materials to move at a quicker pace.

At the time of writing, only Units 1, 2, and 3 are out, with the rest of the units soon to be released.

What You’ll Learn

You’ll begin the course by setting up Android Studio on your computer and learning the basic Kotlin concepts. First, you’ll learn the introductory programming concepts in Kotlin, before learning about Compose. In Compose, you define your UI not using a separate language like most UI toolkits, but by writing pure Kotlin code! You’ll then develop a birthday card app and a business card app using Compose.

Next, you’ll learn more on the fundamentals of the Kotlin language, like conditionals, nullability, object-oriented programming concepts like classes and objects, and functional programming concepts like lambda expressions. Then, you’ll create interactive and responsive UI by building a tip calculator and an art space app.

You’ll further develop your existing knowledge of object-oriented and functional programming, before creating an affirmations app that’ll display a list of encouraging quotes. Finally, you’ll study Material Design, a design system that acts as a guideline for building modern, clean UIs. You’ll practice applying Material Design by building a superheroes app and a 30 days app.

How You’ll Learn

This course will take 3–6 weeks, depending on your proficiency level. It is organized into units, which are made up of a series of pathways. Each pathway consists of videos and codelabs, which you’ll primarily learn from. There are also practice problems to reinforce what you’ve learned.

At the end of each pathway, there is a quiz to assess what you’ve learned so far. Each completed quiz will earn you a badge that can be saved to your Google Developer Profile to showcase your skills.

Institution Google
Instructors Daniel Galpin, Kat Kuan, and Meghan Mehta, Murat Yener, and Angie Sasmita
Level Beginners
Workload 3–6 weeks
Certificate Free

Fun Facts

  • Android Basics with Compose and Android Basics in Kotlin courses both share similar course structures. In many cases, they share the same sample apps to help you compare and learn the differences between Views and Compose.

If you’re interested in this course, you can find more information about the course and how to enroll here.

Elham Nazif Profile Image

Elham Nazif

Part-time content writer, full-time computer science student.

Comments 0

Leave a reply

Your email address will not be published. All comments go through moderation, so your comment won't display immediately.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Browse our catalog

Discover thousands of free online courses from top universities around the world like MIT, Stanford, and Harvard.

Browse all subjects