Kotlin Learning Courses News Project-Based Learning

Introducing Module 2 of Kotlin Onboarding: Object-Oriented Programming

We’ve introduced “Kotlin Onboarding: Object-Oriented programming”, the second module in our Kotlin Onboarding course series on JetBrains Marketplace. After laying the foundation with our introductory module, which covered the essentials of the Kotlin language, we can now explore the more intricate aspects of Kotlin.


In this standalone module, we’ll focus on Object-Oriented Programming (OOP) concepts from a Kotlin perspective. You’ll learn how to write simple Kotlin applications in an OOP style, step by step. The objective is not to teach OOP concepts from scratch but rather to offer a simple refresher about their definitions and show their usage in a Kotlin context.

Prerequisites and topics covered

This course is intended for users with prior programming experience and those who desire to familiarize themselves with the Kotlin language, its syntax, and capabilities. It assumes that the users are already comfortable with the constructs discussed in the first module, such as as the entry point in Kotlin program, control-flow constructions, functions, and null-safety.

This module does not require any previous experience in web application development. Throughout the lessons, there will be specific code segments provided that participants can use to build their own web applications.

In Kotlin Onboarding: Object-Oriented Programming, you’ll dive into:

  • Packages and classes, along with their properties and member functions.
  • Type aliases and value and data classes.
  • The utility and application of companion objects and extension functions.
  • The use of objects and initializer blocks.
  • The functionality of enum classes and Functional Interfaces (Single Abstract Method, SAM).
  • Interfaces, inheritance, and certain built-in functions for handling errors and working with collections.

The projects you’ll build

Look forward to hands-on learning! Each lesson is structured as a step-by-step guide through small tasks, leading to a completed project. After each lesson, you’ll also be prompted to implement an additional project from scratch to put the theory into practice.

By the end of this module, you’ll have created four web applications: Alias, Word generator, Codenames, and Memory trainer. Here’s a sneak peek at a couple of them:


Recreate the classic Alias game where one player has to explain as many words from a randomly generated card to other players within a limited timeframe. This lesson will put the following topics into action: packages, classes, properties, member functions, type aliases, value and data classes, companion objects, extension functions, and basic built-in functions to work with collections.

Word generator

Create a game where a card with a long word is generated, and the task for the teams is to coin as many words as possible using the letters of the original one. It’s a perfect blend of fun and learning!

What’s next

We’ll be back soon with the next module covering functional programming in Kotlin.

This course is open-source, and learners are encouraged to actively contribute to its development. You’re welcome to provide your feedback, suggest improvements, and even submit their own code examples or additional resources to enhance the course for future learners.

Continue your Kotlin journey with us, deepen your understanding, and add new tools to your programming arsenal. We hope you enjoy studying with us! If you have any questions or would like to share your feedback, feel free to leave a comment below or contact us at academy@jetbrains.com.

Happy coding,
Your JetBrains Academy team

image description