Welcome to the Kotlin Bootcamp for Programmers course. In this course, you learn the basics of Kotlin and the benefits of using Kotlin as you create various small programs in IntelliJ IDEA.

Google officially supports Kotlin for developing Android apps, as announced in the Android Developers Blog. Kotlin is a mature programming language that's interoperable with the Java programming language. You can use Kotlin to write robust, concise, readable code.

The course materials include course codelabs with suggested homework assignments.

Prerequisites

This course content is a prerequisite of the Android Kotlin Fundamentals course.

We recommend that you take the course codelabs in sequence, but it's not a requirement. Depending on your knowledge, you may be able to skim some sections.

Kotlin Bootcamp for Programmers includes the following codelabs:

Lesson 1: Get started

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

Start the lesson:

Lesson 2: Kotlin basics

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

Start the lesson:

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 the lesson:

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. You implement an abstract class, an interface implemented in subclasses, and by using interface delegation.

Start the lesson:

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 the lesson:

Lesson 5.2: Generics

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

Start the lesson:

Lesson 6: Functional Manipulation

In Lesson 6, you learn about annotations, labeled breaks, and Single Abstract Methods, and review lambdas and higher order functions. You create and use lambdas and higher order functions, and learn about some useful higher order functions in the Kotlin Standard Library.

Start the lesson: