Why Teach Kotlin

Academically recognized

25 of the top 100 universities in the Times Higher Education World University Rankings 2021 include Kotlin in their courses. We know of 190 universities that teach Kotlin, which is almost twice as many as there were in 2020.

Kotlin is used to teach a variety of topics, including object-oriented and functional programming, software engineering, introductory programming, mobile application development, concurrent programming, and scientific programming (Source: internal Teaching Kotlin Study).

I teach Software Engineering with Kotlin. We also have a separate Android Development course. So I can teach in a language that students can use in other courses.

Eugeniy Tyumentcev, Omsk State University


Language of the industry

Students are happy to have the chance to program in something they may have heard about.

Ryan Stansifer, Florida Institute of Technology



The first-choice language for Android development, Kotlin is also being adopted for teaching multiplatform development for mobile, web, server-side programming, data science, and other computer science topics.

Decrease in boilerplate helps us to quickly identify which fundamental Android concepts students are missing. The likelihood of issues arising due to some basic syntactic/language problems is lower, allowing students instead to focus on more fundamental software design matters.

Jakob Mass, University of Tartu

Easy to learn

Kotlin has a soft learning curve and builds on the students' previous programming experience. It is simple to grasp for those with a Java or Python background.

My students think Kotlin is an easy language to learn. Some students have adopted Kotlin as their main programming language. They use it as their language of choice when they can choose a language for completing an assignment or project.

San Skulrattanakulchai, Gustavus Adolphus College



Seamless interoperability with the JVM ecosystem means that Kotlin can rely on numerous existing libraries. Java programs can also call Kotlin code without any overhead. Our helpful Java-to-Kotlin converter makes it easy to migrate existing course materials. It also helps students quickly learn the syntax if they are already familiar with Java.

Kotlin is faster to develop and comprehend what is happening; near 100% backwards compatibility makes it easy to show in Java and translate into Kotlin while still utilizing every available library from Java; Students seem to understand it fairly quickly.

David Vaughn, University of Missouri–St. Louis


Supports multiple paradigms

Kotlin combines all the major programming paradigms in an elegant way, making it possible to use functional, imperative, object-oriented, or procedural programming – all within the same language. With Kotlin’s support for coroutines, the concepts of concurrency and parallelism come naturally.

You are able to teach procedural programming for the very beginners without needing to describe classes. Thus, your course can be more consistent.

Alexey Mitsyuk, HSE university


Modern, concise, and safe

Kotlin allows students to focus on expressing their ideas, as they don’t have to write as much boilerplate code. Less code written also means less code to test and debug. This language design makes Kotlin a highly productive language, and it also simplifies grading homework and understanding the students' code. According to an internal Teaching Kotlin survey, Kotlin’s concise and expressive syntax is its most beloved feature among educators.

Kotlin promotes writing correct programs with static type checking and automatic memory management. It rules out null-pointer dereferences and has no explicit pointers or undetectable uninitialized variables. Type safety and null safety are some of the most beloved features among Kotlin instructors, according to our internal Teaching Kotlin study.

Kotlin`s compactness is my favorite feature. I’ve translated a few of my Java programming courseworks into Kotlin and noticed that code typically shrinks to 50% of its original size. As a teacher, I also get some benefit from being able to use less code when showing students how to do things.

Nick Efford, University of Leeds


Prepares students for careers

Teaching professional software engineering practices improves students’ employment prospects. And knowing that Kotlin is a marketable skill, students tend to be more enthusiastic about studying it.

Kotlin ranked fifth in the category of Most In-Demand Coding Languages Across the Globe from Hired’s 2019 State of Software Engineers Report.

Kotlin ranked third among programming languages that developers are planning on learning next, according to HackerRank’s 2020 Developer Skills Report.

Employment prospects and how the language will be on the resume are things to look at when choosing a language to teach.

Ted Herman, University of Iowa


Tooling and Learning Materials

The top tools of the profession are packaged with the language. IntelliJ IDEA Ultimate supports Kotlin as a first-class citizen and is free for educators and students. It offers great productivity features, such as smart code completion, code inspections, a visual debugger, and more.

The educational JetBrains Academy plugin is also available to help learn and teach Kotlin programming. Educators can use existing interactive courses or create custom ones, with hands-on assignments and practice coding tasks. Integrated tests will automatically check the assignments and provide feedback.

Kotlin offers various teaching and learning resources, case studies, and community resources.

JetBrains equipped Kotlin with the best available tooling to simplify development.

Alexander Nozik, Moscow Institute of Physics and Technology


Open Source Community

Open source at heart, Kotlin is a free language that runs on all major platforms. Kotlin is supported by, and evolves with the help of, its diverse and enthusiastic community, which includes over 200 Kotlin User Groups all around the world, an active forum, Slack, Reddit, and Stack Overflow communities, and many other resources.

If you would like to introduce Kotlin into your classroom or have any questions about teaching or learning Kotlin

Connect with us