Why Teach Kotlin
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.
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.
Language of the industry
- Kotlin is used by top companies such as Google, Twitter, Reddit, Netflix, Uber, BMW, Coursera, Slack, and Trello, just to name a few.
- Kotlin has consistently ranked among the top 4 most-loved programming languages since 2018, according to the Stack Overflow Developer Surveys.
- Kotlin is one of the fastest-growing programming languages, ranking fourth in that category in GitHub’s 2019 State of the Octoverse survey.
- Kotlin has the fastest growing language community. (SlashData's State of the Developer Nation 20th edition, Q1 2021)
Students are happy to have the chance to program in something they may have heard about.
The students are so happy. They can produce useful software quickly.
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.
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.
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.
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.
According to an internal Teaching Kotlin study, 88% of students give positive feedback about learning Kotlin.
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.
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.
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.
My Kotlin students in fact understand OO concepts better than my Java students do.
Kotlin has strong support for object-oriented programming, and also support for functional programming.
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.
Simple syntax. Less code to get more done. At the same time Kotlin has advanced topics such as coroutines.
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.
Fewer runtime errors are Kotlin’s advantage. Null safety is my favorite Kotlin feature.
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.
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.
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.
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.
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.