🎉 Exercism Research is now launched. Help Exercism, help science and have some fun at research.exercism.io 🎉

Kotlin

Join the Kotlin Track
Kotlin is a pragmatic programming language for JVM and Android that combines OO and functional features and is focused on interoperability, safety, clarity and tooling support.
Join the Kotlin Track
Track mentors

20 Mentors

Our mentors are friendly, experienced Kotlin developers who will help teach you new techniques and tricks.
Track students

10,839 Students

Join thousands of students who have enjoyed learning and improving their skills by taking this track.
Track exercises

84 Exercises

Hundreds of hours have gone into making these exercises fun, useful, and challenging to help you enjoy learning.

About Kotlin

fun getGreeting(): String {
    return "Hello, World!"
}

Kotlin was designed and developed by JetBrains, the company behind IntelliJ. It is a language that runs on the JVM which can target versions 6+ (including the Android platform). JetBrains wanted to use a statically typed language which can remove Java boilerplate code, provide modern functional paradigms, and had seamless two-way Java interoperability with their existing codebase. The JVM already had alternate languages like Groovy and Scala but neither fit the bill with their desired criteria, so they built Kotlin.

Kotlin syntax is similar to Scala and Swift but pulls in the best-of-breed features from other languages such as C# and Groovy. Kotlin took a pragmatic approach at features included in the language by only providing functionality that has been proven to be useful for developers. With this decision they implemented a subset of features of Scala with the intent that it will provide more maintainable code with an easier learning curve for developers looking for a "better Java".

JetBrains has a dedicated team of developers working on Kotlin with the codebase available on Github.

Join the Kotlin track

Exercism is a great website

What I like about it is that I am able to solve the challenges in a TDD way working in a environment that I am familiar (my own PC not a browser IDE) and the cherry on the top of the cake is that I have access to code reviews.

Relaxed. Encouraging. Supportive.

Meet the Kotlin Track mentors

Once you join the Kotlin language track, you will receive support and feedback from our team of mentors. Here are the bios of a few of the mentors of this track.

Avatar of Geoffrey Wiseman

Geoffrey Wiseman Personal Website

I'm a software consultant in Toronto, ON, Canada. I use Kotlin for some clients to build Spring Boot microservices to deploy in containers to AWS. Since I've been enjoying using Exercism to explore languages, I decided to contribute back for Kotlin.
Avatar of Sinuhe Jaime

Sinuhe Jaime https://github.com/sierisimo

I'm a geek doing a lot of things, including Kotlin. I've using the language for 3 years now but still learning everyday
Avatar of Peter Nikodem

Peter Nikodem https://github.com/nikodem-peter

Came for Java, stayed for Kotlin. You can't see it in the picture, but I have fully functional arms and legs.
Avatar of Adrian Spanu

Adrian Spanu https://github.com/aspanu

I work as a software engineer full time. Although I've never worked professionally in Kotlin, I've really enjoyed the language and I generally use it for interview problems or personal projects. I'm looking forward to helping others with it as I learn along myself.
Avatar of Lidonis Calhau

Lidonis Calhau https://github.com/lidonis

I have been a web developer for quite some time. I really like Kotlin because it's design the way a would write a new OO language. I hope we can learn it a little bit better on this track.
Avatar of Supriya Srivatsa

Supriya Srivatsa Twitter

I love how pragmatic Kotlin is, and the elegance it brings with it. I've worked with Kotlin on Android and backend systems, and always appreciate how concise yet expressive the language is. Always a joy programming in Kotlin!
Fun. Challenging. Interesting

Community-sourced Kotlin exercises

These are a few of the 84 exercises on the Kotlin track. You can see all the exercises here.

Affine Cipher
medium
cryptography
security
strings
Complex Numbers
hard
floating point numbers
math
Flatten Array
medium
stacks
strings
Sum Of Multiples
medium
arrays
conditionals
integers
loops
math
Simple Cipher
hard
cryptography
exception handling
randomness
security
strings
Two Fer
easy
conditionals
strings
Passionate. Knowledgeable. Creative.

Meet the Kotlin Track maintainers

The Kotlin Maintainers are the brains behind the Kotlin Track. They spend their spare time creating interesting and challenging exercises that we can all learn from. We are incredibly grateful for their hard work. Here are the bios of a few of the maintainers of this track.

Avatar of Sam Warner

Sam Warner

I am a software developer and consultant working for Black Pepper Software, a software company based in Leamington Spa, England. I'm a recent Computer Science graduate from the University of Warwick, and love all things to do with computers!
Avatar of Denys M

Denys M

[Mobile] Software engineer and Kotlin enthusiast.
Avatar of Mike Gehard

Mike Gehard

Long time software developer, recovering chemical engineer. I love helping folks along their path because I learn something new every time.

Get started with the Kotlin track. As with everything on Exercism, it's 100% free!

Join the Kotlin Track