Kotlin Bootcamp for Programmers

In the Kotlin Bootcamp for Programmers course, you learn the basics of Kotlin as you create various small programs in IntelliJ IDEA.

The course materials include course codelabs with suggested homework assignments.

You'll get the most value out of this course if you work through the lessons in sequence, but it's not a requirement. Depending on your knowledge, you may be able to skim some sections.


This course is geared towards programmers who know an object-oriented language such as Java or C++. If you're familiar with C#, some of the features of Kotlin will be familiar.

What does the course cover?

Lesson 1: Get started

In Lesson 1, you learn how to work with the Kotlin REPL (Read-Eval-Print Loop) interactive shell, and you practice using the basic syntax of Kotlin code.

Start Lesson 1

Lesson 2: Kotlin basics

In Lesson 2, you learn how to use Kotlin data types, operators, and variables, and how to work with booleans and conditions. You explore the difference between nullable and non-nullable variables, and you practice using arrays, lists, and loops in Kotlin.

Start Lesson 2

Lesson 3: Functions

In Lesson 3, you learn how to create a program with a main() function and arguments in IntelliJ IDEA. You create small programs as you learn about default values, compact functions, list filters, basic lambdas, and higher-order functions.

Start Lesson 3

Lesson 4: Classes and objects

In Lesson 4, you learn about classes, objects, and inheritance in Kotlin. You create small programs as you learn about abstract classes, interfaces, and interface delegation.

Start Lesson 4

Lesson 5.1: Extensions

In Lesson 5.1, you learn about collections, constants, and extension functions in Kotlin. You create small programs as you learn about pairs, triples, lists, and hash maps for storing data, and implement extension functions to add functionality to existing classes.

Start Lesson 5.1

Lesson 5.2: Generics

In Lesson 5.2, you learn about generic classes, methods, and functions in Kotlin. You create a type hierarchy, make classes more flexible by making them generic, and extend their functionality with generic methods and functions.

Start Lesson 5.2

Lesson 6: Functional manipulation

In Lesson 6, you learn about annotations, labeled breaks, and Single Abstract Methods (SAMs). You also review lambdas and higher-order functions. You then create and use lambdas and higher-order functions, and learn about higher-order functions in the Kotlin Standard Library.

Start Lesson 6