JetBrains Academy Course Catalog
Subjects
AI Coding ToolsAI EngineeringAlgorithms and Data StructuresBackendCloud & DevOpsData ScienceDeep LearningKotlin & AndroidMachine LearningMathML & MathMost popularSQL and DatabasesWeb Dev
Languages
C/C++GoHTML/CSSJavaJavaScriptKotlinPythonRustScala
Full catalog

Kotlin

Sourse logoIn-IDE learning

AtomicKotlin

These are examples and exercises accompanying the Atomic Kotlin book. These materials are designed for both dedicated novices and experienced programmers – no programming background is necessary. Kotlin is powerful – not only does it have a rich set of features, but you can also express those features in numerous ways. These features are discussed in the book and presented in the exercises. Each atom in Atomic Kotlin is accompanied by several exercises to cement your understanding of the material. We recommend solving the exercises directly after reading an atom.

JetBrains AcademyBeginner-friendly

Sourse logoIn-IDE learning

Kotlin Koans

Kotlin Koans are a series of exercises to get you familiar with the Kotlin syntax

JetBrains Academy

Sourse logoIn-IDE learning

Kotlin Onboarding: Introduction

This course is designed for novices in Kotlin and focuses on the basic concepts of the Kotlin language. Each lesson of the course is built in the form of a project: step by step, by completing different small tasks, you will get a finished small project in the end. At the end of each lesson, an additional similar project will be offered: it includes all the lesson topics but does not contain the theory part. Note, this course does not provide a detailed explanation of the basic concepts, like variables: it just shows how to use them in Kotlin and can briefly remind you the definitions. All topics will be accompanied by links to the official Kotlin documentation, which you can read later. After this course, you will be ready to write basic console applications in the Kotlin-like style.

JetBrains AcademyBeginner-friendly

Sourse logoHyperskill

Introduction to Android with Kotlin

Take your first step towards a career in mobile development. Acquire the fundamental skills needed to create, design and deploy simple mobile apps.

JetBrains Academy

Sourse logoIn-IDE learning

Algorithmic Challenges in Kotlin

Prepare for your next technical interview by practicing solving algorithmic challenges in IDE using Kotlin. The main learning objectives of this hands-on course are the following. Practice applying essential algorithmic techniques. We introduce you to the main algorithmic techniques (brute force, greedy algorithms, divide and conquer, dynamic programming). For each topic, you will be solving a number of coding challenges to master the corresponding technique. Prepare for your next coding interview. Solve a suite of carefully selected coding challenges that cover the most popular topics from coding interviews. Code like a pro. Our workflow will push you to code like a pro, whereas IDEA will boost your productivity: implement a solution using various smart features of IDEA (code inspections, auto-completion, on-the-fly code analysis, and reliable refactoring tools); then ensure that your solution is correct by implementing various tests; then, debug it right in IDEA. Practice writing efficient and reliable code. For each problem in this course, your goal is to implement a solution that works in less than one second even on large datasets. When you submit, our automatic grading system checks your solution against a collection of carefully designed test cases that contain both large datasets and various corner cases. Practice Kotlin. Implement your solutions in Kotlin, a cross-platform programming language developed by JetBrains. P.S. Want to contribute? Feel free to send a pull request to the github repo.

JetBrains Academy

Sourse logoIn-IDE learning

Introductory Kotlin workshop for programmers

This is an introductory workhshop into the wondrous world of Kotlin provided by David Stibbe and Ali Meshkat. The target audience is anyone with a bit of programming experience and an interest in learning Kotlin. Through these assignments we will explore the most important aspects of the Kotlin language and how to apply these. The presented materials are based on the official Kotlin documentation. Topics Basics Nullable Types Functions and Lambdas Generics Collections Extensions Objects Testing

Sourse logoIn-IDE learning

{ this is Kotlin }

Support exercises for { this is Kotlin } course. { this is Kotlin } is an introductory Kotlin course, so no previous Kotlin experience is required. However, it's not an in introductory course in programming, so some programming experience is required. The target audience is usually Java programmers that want to switch to Kotlin, but explicit Java knowledge is not a prerequisite. Please try to do the exercises after attending the corresponding lesson. We do not recommend doing exercises in advance to keep the interest in the course fresh. The structure of the course is the following: Introducing Kotlin: high level overview of the Kotlin language; the next lessons will cover the same concepts in detail, and more. Functions Collections OOP Advanced Topics Generics Testing with Kotest Coroutines Slides and code samples are available on github. Please report any issues here.

Tiberiu Tofan

Sourse logoIn-IDE learning

Kotlin Onboarding: Object-Oriented programming

This course is designed for novices in Kotlin and focuses on the object-oriented (OOP) concepts of the Kotlin language. This is the second module of the course, the first module can be found on JetBrains Marketplace. This module assumes that you are familiar with all the constructs discussed in the first part. Each lesson of the course is built in the form of a web project: step by step, by completing different small tasks, you will get a functional project in the end. At the end of each lesson, an additional similar project will be offered: it includes all the topics of the lesson but does not contain the theory part. Note, this course does not provide a detailed explanation of the OOP concepts, it just shows how to use them in Kotlin and can briefly remind you the definitions. All topics will be accompanied by links to the official Kotlin documentation, which you can read later. After this course, you will be ready to write basic Kotlin applications.

JetBrains AcademyBeginner-friendly

Sourse logoIn-IDE learning

Practical IDE Code Refactoring in Kotlin

Write cleaner Kotlin code—not just code that works. Learn how to refactor with JetBrains IDE tools and build habits that scale your code, your systems, and your skills. Ideal for learners with basic Kotlin experience.

JetBrains Academy

Sourse logoIn-IDE learning

Coroutines and Channels

In this course, you'll learn how to use coroutines in IntelliJ IDEA to perform network requests without blocking the underlying thread or callbacks. You'll learn: Why and how to use suspending functions to perform network requests. How to send requests concurrently using coroutines. How to share information between different coroutines using channels. This course is based on Coroutines and Channels tutorial

JetBrains Academy

Sourse logoIn-IDE learning

Kotlin Onboarding: Collections

This course is designed for novices in Kotlin and focuses on working with collections in the Kotlin language. This is the third module of the course, the first and second modules can be found on JetBrains Marketplace. This module assumes that you are already familiar with all the constructs discussed in the first and second parts. Each lesson of the course is built in the form of a project: step by step, by completing different small tasks, you will get a fully working project in the end. Some of the projects are practice-based and introduce to you different helpful Kotlin functions though practical exercises without much theory part. Note that this course does not provide a detailed explanation of such aspects as asymptotic complexity, mostly, it just describes the definitions of different types of collections and shows how to use them in Kotlin. All topics will be accompanied by links to the official Kotlin documentation, which you can read later. After this course, you will be ready to use Kotlin collections in efficient ways.

JetBrains Academy

Sourse logoIn-IDE learning

IDE Plugin Development Course

This course is designed for novices in plugin development for JetBrains IDEs. It covers the basics of plugin development and provides hands-on experience in working with PSI (Program Structure Interface) elements. The main goal of the course is not to rewrite the existing documentation but rather to cover popular topics and provide links to the official documentation so that students can get used to reading the documentation and searching for necessary information.

JetBrains Academy

Sourse logoIn-IDE learning

KotlinFlashKards - coroutines

This is a set of flash cards to practise Kotlin Coroutine syntax. It can be used at regular intervals to strengthen long term memory recall of core syntax patterns used in concurrent code in Kotlin. It covers Coroutines, error handling and testing Coroutines. It does not replace the documentation at kotlinlang.org or a good book but is a supplementary source of practice material to practise recall of the syntax and coding patterns.

Maia GrotepassBeginner-friendly

Sourse logoIn-IDE learning

Enchant Codelabs

Level-up your skills with the Enchant architecture stack, the most concise way to develop architecture components in Kotlin Multiplatform. You'll create a full MVVM (Model-ViewModel-View) "counter" application with just a few lines of code. Then, you'll learn more about developing models with Flare, a multiplatform Firebase client, and learn how to develop ViewModels with Magic, an architecture library that makes crafting high-quality, reactive ViewModels easy. If you know a little bit of Kotlin and want to develop full-stack apps, this course is perfect for you! Enjoy and good luck!

Ethan Hsu

Sourse logoIn-IDE learning

Kotlin UTBM/CNAM

This is an introductory Kotlin course and programming paradigms in French. It is intended for students in the first year of a computer science degree. The first part is dedicated to imperative programming, the second part to object-oriented programming and the third part to functional programming. A final part about design patterns is also included. Every part has a bunch of exercises to practice the concepts learned.

Thomas Martinet

Sourse logoUniversity degree

Software, Data and Technology

This bachelor's program offered by JetBrains and Constructor University combines the latest in software development, data analysis, and machine learning.

JetBrains Academy

Sourse logoUniversity degree

Computer Science and Artificial Intelligence

This undergraduate program focuses on data science, machine learning, robotics, software engineering, and theoretical computer science

JetBrains Academy

Subscribe to receive regular product news and blog updates

Follow us

  • Product News & Updates
  • Insights & Updates
  • Tutorials & Livestreams
  • Industry Insights & Discussions
  • Course Help & Chat
  • Edutainment & Fun
Find the Kotlin course that suits you best →
Privacy & SecurityTerms of UseTrademarksLegalGenuine Tools
© 2000—2026 JetBrains s.r.o. All rights reserved. Developed with drive and IntelliJ IDEA