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.

On numerous courses, where we proceed through Java to Kotlin, we are considering a Kotlin-first approach.

Eamonn De Leastar, Waterford Institute of Technology

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 students are so happy. They can produce useful software quickly.

Károly Machalik, University of Pannonia

Multiplatform

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.

Jacob 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.

Nearly all my students have picked up Kotlin quite easily and really loved it, as compared with Java.

Scott Stanchfield, Johns Hopkins University

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

I appreciate Kotlin's diffusion, its innovation while being able to ‘stay in the mainstream’ to soften the learning curve, the way it supports key concepts – in short, its clarity and cleanness.

Enrico Denti, University of Bologna

According to an internal Teaching Kotlin study, 88% of students give positive feedback about learning Kotlin.

Interoperable

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

Kotlin can also be compiled to JavaScript to run in the browser or on Node.js, or into a standalone native binary targeting any major operating system.

For the upcoming Introductory Programming course, we chose Kotlin, because we wanted a language that targets the JVM and seamlessly interoperates with its ecosystem: a stack of utmost importance to our market.

Paulo Pereira, Lisbon Superior Engineering Institute (ISEL)

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

My Kotlin students in fact understand OO concepts better than my Java students do.

San Skulrattanakulchai, Gustavus Adolphus College

Kotlin has strong support for object-oriented programming, and also support for functional programming.

Fernando Magno Quintão Pereira, Federal University of Minas Gerais

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'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

Simple syntax. Less code to get more done. At the same time Kotlin has advanced topics such as coroutines.

Zaid Altahat, Northwestern University, University of Wisconsin–Parkside

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.

One of Kotlin’s advantages is a good combination of strong typing and nullability.

Mark Zaslavskiy, ITMO University

Fewer runtime errors are Kotlin’s advantage. Null safety is my favorite Kotlin feature.

Jeffrey Paone, Colorado School of Mines

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.

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

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.

Students like the language. It's less verbose than Java, for instance, and has more market appeal than OCaml and ML.

Fernando Magno Quintão Pereira, Federal University of Minas Gerais

Tooling and learning materials

The top tools of the profession are packaged with the language.

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

Alexander Nozik, Moscow Institute of Physics and Technology

IntelliJ IDEA 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 playground provides an interactive way to learn the language, and it is also useful for trying out small code snippets in the browser without having to open an IDE to write and run code.

This plugin helps users learn and teach Kotlin programming. Educators can use existing interactive courses or create custom ones, with hands-on assignments and coding tasks to practice on. Integrated tests will automatically check the assignments and provide feedback.

This is a new collaborative coding and pair programming service. It’s a great tool for remote learning and real-time collaboration on a project inside an IDE.

Go for it! You will love it. The language is mature, the IDE support is fantastic, the documentation is great.

Mariusz Nowostawski, Norwegian University of Science 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.