Automatically detecting previous programming knowledge from novice programmer code compilation history

Prior programming knowledge of students has a major impact on introductory programming courses. Those with prior experience often seem to breeze through the course. Those without prior experience see others breeze through the course and disengage from the material or drop out. The purpose of this st...

Full description

Bibliographic Details
Main Authors: Erno Lokkila, Athanasios Christopoulos, Mikko-Jussi Laakso
Format: Article
Language:English
Published: Vilnius University 2022-09-01
Series:Informatics in Education
Subjects:
Online Access:https://infedu.vu.lt/doi/10.15388/infedu.2023.15
Description
Summary:Prior programming knowledge of students has a major impact on introductory programming courses. Those with prior experience often seem to breeze through the course. Those without prior experience see others breeze through the course and disengage from the material or drop out. The purpose of this study is to demonstrate that novice student programming behavior can be modeled as a Markov process. The resulting transition matrix can then be used in machine learning algorithms to create clusters of similarly behaving students. We describe in detail the state machine used in the Markov process and how to compute the transition matrix. We compute the transition matrix for 665 students and cluster them using the k-means clustering algorithm. We choose the number of cluster to be three based on analysis of the dataset. We show that the created clusters have statistically different means for student prior knowledge in programming, when measured on a Likert scale of 1-5.
ISSN:1648-5831
2335-8971