Data (Jun 2023)

Dataset of Program Source Codes Solving Unique Programming Exercises Generated by Digital Teaching Assistant

  • Liliya A. Demidova,
  • Elena G. Andrianova,
  • Peter N. Sovietov,
  • Artyom V. Gorchakov

DOI
https://doi.org/10.3390/data8060109
Journal volume & issue
Vol. 8, no. 6
p. 109

Abstract

Read online

This paper presents a dataset containing automatically collected source codes solving unique programming exercises of different types. The programming exercises were automatically generated by the Digital Teaching Assistant (DTA) system that automates a massive Python programming course at MIREA—Russian Technological University (RTU MIREA). Source codes of the small programs grouped by the type of the solved task can be used for benchmarking source code classification and clustering algorithms. Moreover, the data can be used for training intelligent program synthesizers or benchmarking mutation testing frameworks, and more applications are yet to be discovered. We describe the architecture of the DTA system, aiming to provide detailed insight regarding how and why the dataset was collected. In addition, we describe the algorithms responsible for source code analysis in the DTA system. These algorithms use vector representations of programs based on Markov chains, compute pairwise Jensen–Shannon divergences of programs, and apply hierarchical clustering algorithms in order to automatically discover high-level concepts used by students while solving unique tasks. The proposed approach can be incorporated into massive programming courses when there is a need to identify approaches implemented by students.

Keywords