Kotlin
A concise multiplatform language developed by JetBrains
Kotlin in Education
More developers are choosing Kotlin every day. It is one of the fastest-growing programming languages according to GitHub, and one of the most in-demand coding languages according to Hired.
As demand for Kotlin developers increases, we are looking to support computer science educators and make Kotlin educational content as widely available as possible.
In this post, we’d like to share with you the current state of Kotlin in education, the benefits of including it in academic curricula, and the resources and initiatives we have for educators.
State of Kotlin in academia
Since Kotlin’s conception, both industry and academia have taken a liking to the language, and it continues to evolve to meet the demands of these sectors. Kotlin is used by top companies, including Google, Twitter, Reddit, Netflix, Uber, BMW, Coursera, Slack, and Trello, just to name a few. With major companies buying into Kotlin, universities are also seeing it as a prospective career for their students.
Over 190 universities already teach Kotlin, including 25 of the top 100 ranked universities in the Times Higher Education Rankings in 2021.
Reach out to us at education@kotlinlang.org if you’d like to have your university featured on our map.
Among the Kotlin courses we know about, we are seeing educators teach topics like introduction to programming, Android application development, software engineering, languages and compilers, object-oriented programming, and functional programming.
Benefits of teaching Kotlin
What makes Kotlin a good fit for teaching? Let’s take a look at the reasons why educators choose it and why it’s a great teaching tool that helps students succeed in computer science.
Modern, concise, and safe syntax
One of Kotlin’s core goals is to let programmers express exactly what they mean. By being a concise language, Kotlin allows students to focus on expressing their ideas, rather than writing boilerplate code. Less code written also means fewer opportunities for error and less code to test, debug, and grade. Kotlin also promotes writing correct programs with static type checking, automatic memory management, and null safety.
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.
Interoperability
Kotlin is 100% interoperable with Java and can rely on a wealth of existing Java libraries. If you already have Java code, you can call it directly from Kotlin code, and vice versa. You can even auto-convert existing Java code (or course materials) to Kotlin with our helpful Java-to-Kotlin converter, halving the amount of code. You get all the benefits of a modern programming language with minimal migration work.
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.
Supports object-oriented and functional programming
Kotlin combines imperative, procedural, object-oriented, and functional programming, making it a general-purpose and multiparadigm language.
Easy to learn
According to many Kotlin educators, the language’s concise syntax makes it a perfect tool for explaining fundamental programming concepts. It has an easy learning curve and builds on the students’ previous programming experience, being especially simple to grasp for those with a Java or Python background.
Our resources and initiatives
If you are interested in learning and teaching Kotlin, there are a lot of ways to get up and running.
Tooling
JetBrains has built several dozen products that cover all stages of the software development cycle and all major technologies and programming languages. Many top software engineering tools are packaged with Kotlin, so both you and your students will never be left without tooling and infrastructure support for Kotlin.
- Free educational licenses for IntelliJ IDEA Ultimate for immersing your students into the workflows of millions of professional developers.
- Java-to-Kotlin converter – the IDE can automatically translate your code from Java to Kotlin.
- Playground for trying out small code snippets in the browser.
- EduTools plugin with existing interactive courses and the ability to create custom ones.
- Code With Me – a new service for collaborative coding and pair programming.
Kotlinlang.org/education
Check out all our teaching resources at kotlinlang.org/education, including:
- Our newest Kotlin curriculum for beginners
- Hands-on exercises from the Atomic Kotlin book
- Study materials for teaching Android in Kotlin
Kotlinlang Slack
If you want to get a feel for the community and talk to other people working with and on Kotlin, then the Kotlinlang Slack is the right place. With more than 39,000 members and a dedicated #education channel, it is the first place to look for other educators and people interested in furthering Kotlin in education.
Kotlin YouTube channel
Subscribe to the official YouTube channel Kotlin by JetBrains and join our monthly educational webinars by educators and for educators, alongside a plethora of other Kotlin content!
Watch the recent episode of the Talking Kotlin show, where we talk about the role of Kotlin in teaching:
Kotlin in competitive programming
The language is being developed by a team that includes multiple competitive programming champions. Competitions are a great way to practice the language, which is why we hold our own quarterly Kotlin Heroes contest designed for participants of all levels. Before each contest, we open a practice round with open solutions, so you can practice powerful language features and see some hints if you get stuck.
Open source community
Kotlin is supported by, and evolves with the help of, its diverse community. Join the conversation with peers in our community groups:
If you are teaching Kotlin or are interested in launching a course that involves Kotlin, do reach out to us! We want to hear from you, answer your questions, and help you with anything you might need for your teaching objectives.
Please post your feedback, questions, and suggestions in the comments below or share them with us at education@kotlinlang.org.
Let’s teach Kotlin!