Why Teach Kotlin

The Language of Android

Revamp your course with the first-choice language for Android development. Kotlin has natively supported the mobile development workflow and associated tools since 2017.

Kotlin is basically becoming the language of Android.

Adam Porter, University of Maryland

Android development will become increasingly Kotlin-first. Google I/O 2019

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

Academically recognized

At least 82 universities from the Times Higher Education Rankings 2020 use Kotlin to teach Mobile Application Development, Object-Oriented and Functional Programming, Patterns in Software Engineering, Parallel/Concurrent Programming, Scientific Programming, and other courses (Source: internal Teaching Kotlin Study).

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

Eamonn De Leastar, Waterford Institute of Technology

22 of the top 100 universities in the THE Rankings 2020 include Kotlin in their courses.

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

  • Kotlin is used by renowned businesses and organizations of all sizes, including Twitter, Reddit, Pinterest, Uber, Coursera, Evernote, Slack, and Trello, just to name a few.
  • Kotlin job postings have increased by more than 1400% since 2017. Source: Dice.
  • Kotlin is one of the fastest-growing programming languages and ranked 4th in the Github Octoverse 2019.
  • PYPL ranks Kotlin as the 12th most popular programming language, with a high upward trend in 2020.

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

Ryan Stansifer, Florida Institute of Technology

4th most loved programming language in the 2019 StackOverflow Developer Survey.

The students are so happy. They can produce useful software quickly.

Károly Machalik, University of Pannonia

Easy to teach fundamental concepts

Kotlin's industrial popularity has a sound educational foundation. It is a full-featured language that supports teaching various computer science and software engineering topics like algorithmic problem-solving, data structures, machine learning, compilers, databases, and more. Kotlin builds on the students' previous programming experience and is simple to grasp for those with a Java or Python background.

I think our students benefit in general from being exposed to a wide range of programming languages, and I think it is valuable for them to gain experience in using more modern languages alongside the more traditional ones like Java and C++.

Nick Efford, University of Leeds

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

Kotlin has a soft learning curve and makes it easy to migrate existing course materials.

Kotlin is as easy to use as Java, but it has pretty much the same desirable language features of harder languages such as C++.

Nicola Capodieci, University of Modena and Reggio Emilia

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

Student motivation

Knowing that Kotlin is a marketable skill, students tend to be more enthusiastic in studying it. Another big motivator for students is learning a language that allows them to quickly see results from their code.

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

Scott Stanchfield, Johns Hopkins University

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

88% of students give positive feedback about learning Kotlin. Source: internal Teaching Kotlin Study.

Students’ feedback about learning Kotlin is really, really positive.

Márton Braun, Budapest University of Technology and Economics

Interoperable

Seamless interoperability with the JVM ecosystem means that Kotlin can rely on numerous existing libraries. Our handy Java-to-Kotlin converter provides excellent support to migrate Java code to Kotlin and helps students quickly learn the syntax if they are already familiar with Java. Java programs can call Kotlin code without any overhead either. 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.

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

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

Kotlin supports functional, imperative, object-oriented, and procedural programming

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

Supports coding safety

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.

Take the opportunity to teach something new, type safe and functional.

Gaute Berge, University of Oslo

Type safety and null safety are among the favorite features of Kotlin instructors. Source: 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

Modern and concise language design

Kotlin's syntactic simplicity makes it beginner-friendly, while at the same time, it offers sophisticated features that ambitious students won't grow out of.

Kotlin allows students to focus on expressing their ideas and write less boilerplate code. Less code written also means less code to test and debug. Such language design makes Kotlin a highly productive language, and it also simplifies grading homework and understanding your students' code.

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

Instructors love Kotlin’s concise and expressive syntax. Source: 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. In-class coding projects are typically fully functional Android applications, and real-world assignments are more engaging for students than abstract examples are.

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 job postings have increased by more than 1400% since 2017. Source: Dice.

Hard at first, but students love it compared to C# or JavaScript.

Alex Queudot, ENTI – University of Barcelona

Tooling and learning materials

The top tools of the profession are packaged with the language. 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 educational EduTools 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.

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

Alexander Nozik, Moscow Institute of Physics and Technology

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, which includes over 200 Kotlin User Groups all around the world, an active forum, Slack, Reddit, and Stack Overflow communities, and many other resources.

Freely available implementation is very important.

Ryan Stansifer, Florida Institute of Technology

We’ve created a dedicated Slack channel where Kotlin educators can share their experience, exchange ideas, and empower each other. Let’s (teach) Kotlin!

Request to Join