Bridging Education and Development: IDEs as Interactive Learning Platforms
Anastasiia Birillo, Maria Tigina, Zarina Kurbatova, Anna Potriasaeva, Ilya Vlasov, Valerii Ovchinnikov, Igor Gerasimov
TL;DR
The paper addresses the mismatch between traditional programming education and the needs of professional software development by proposing in-IDE courses implemented as JetBrains Academy plugins for IntelliJ-based IDEs. The approach delivers project-based, interactive learning directly inside the IDE, enabling students to apply theory using real-world tooling and to leverage IDE features during tasks. Key contributions include a scalable plugin architecture with theory/quiz/code tasks, a custom testing framework, extensive educator resources and templates, multiple distribution options (notably the Marketplace), and a detailed IDE Plugin Development Course that demonstrates practical plugin-building workflows. The work has practical impact by reducing transition friction to industrial tooling, enabling data-driven course customization, and paving the way for LMS integration and AI-assisted learning within the IDE environment.
Abstract
In this work, we introduce a novel approach to programming education - in-IDE courses implemented for IntelliJ-based IDEs via the JetBrains Academy Plugin. The primary objective of this approach is to address the challenge of familiarizing students with industrial technologies by moving all theory and practical materials to a professional IDE. This approach allows students to immediately use modern industrial tools as they are fully integrated into the learning process. We have already applied this approach in over 40 courses, and it successfully educates students across diverse topics such as Plugin Development, Algorithms, Data Analysis, and Language mastery in various programming languages, including Kotlin, Java, C++, and Python. Along with the paper, we are providing the community not only with a new way of learning and a set of ready-made courses but also a collection of helpful resources to assist educators in getting started with the plugin. Finally, we describe in detail an IDE plugin development course that demonstrates how the in-IDE approach covers complex topics easily.
