This tutorial is designed for SIGCSE 2025 attendees interested in using interactive IDE-integrated courses to enhance programming education.
This tutorial is divided into three parts, guiding participants through the process of creating in-IDE programming courses, setting up data collection, and analyzing the data collected:
Please ensure you have the following installed:
You can use either IntelliJ IDEA (Community or Ultimate) for Kotlin and. Java courses or PyCharm (Community or Ultimate) for Python courses.
This plugin can be installed directly from your IDE.
This repository should be cloned on your laptop so it will work during the tutorial session
The practical part of this tutorial will be led by three instructors, with Education Research team members Elizaveta Artser and Aleksey Rostovskiy providing classroom support.
Each part of this tutorial is designed to be independent. If you miss a part, you can download the prepared materials and continue at your own pace.
The goal of this part is to create an in-IDE course with the JetBrains Academy plugin using Kotlin, Java, or Python.
It consists of the following tasks:
All tasks in this part are provided for Kotlin, Java, and Python, with language-specific implementation details.
This section focuses on setting up the TaskTracker tool and demonstrating its data collection capabilities.
It consists of the following parts:
All configuration files are language-independent, except for the Task Content configuration files which list the files that will be tracked.
The goal of this part is to complete the created course in student mode in order to collect task-solving data and carry out basic analysis.
It consists of the following tasks:
Here are all the products and materials relevant to the tutorial:
JetBrains offers free educational licences for all IDEs for teachers and students to use in the classroom.
The JetBrains Academy plugin enables educators to design and manage courses directly in JetBrains IDEs.
TaskTracker is a plugin for data collection during the task-solving process to gather information about code snippets and IDE interactions.
This repository contains all the materials from this tutorial for future use.
The Education Research team is happy to take part in seminars or guest lectures. You can come and meet our team, or we can present our work to your group or at your event.
We are also open to collaborating on existing projects or setting up new ones in our areas of interest. Possible formats include validation design, user studies, or other types of research involving human participants.
Write to us at edu-research-team@jetbrains.com to learn more.