The process of writing code and use of features in an integrated development environment (IDE) is a fruitful source of data in computing education research. Existing studies use records of students' actions in the IDE, consecutive code snapshots, compilation events, and others, to gain deep insight into the process of student programming. In this paper, we present a set of tools for collecting and processing data of student activity during problem-solving. The first tool is a plugin for IntelliJ-based IDEs (PyCharm, IntelliJ IDEA, CLion). By capturing snapshots of code and IDE interaction data, it allows to analyze the process of writing code in different languages -- Python, Java, Kotlin, and C++. The second tool is designed for the post-processing of data collected by the plugin and is capable of basic analysis and visualization. To validate and showcase the toolkit, we present a dataset collected by our tools. It consists of records of activity and IDE interaction events during solution of programming tasks by 148 participants of different ages and levels of programming experience. We propose several directions for further exploration of the dataset.
翻译:综合开发环境(IDE)的写法和使用特征的过程是计算教育研究中数据的一个富有成果的来源。现有研究利用国际开发协会中学生行动的记录、连续代码快照、编集事件等,深入了解学生编程过程。本文介绍了一套在解决问题期间收集和处理学生活动数据的工具。第一个工具是Intellij基于Intellij的国际开发公司(PyCharm、IntellijIDE、CLion)的一个插件。通过收集代码和IDE互动数据的缩影,可以分析不同语言 -- -- Python、Java、Kotlin和C++的写法过程。第二个工具是为插件所收集的数据后处理设计的工具,能够进行基本分析和直观化。为了验证和展示工具,我们提供了由我们工具收集的数据集。它由148名不同年龄和不同水平的参与者在解决编程任务时的活动记录和IDE互动事件组成。我们提出了进一步探索数据集的若干方向。