Using Logs to support Programming Education

2026-05-11Software Engineering

Software Engineering
AI summary

The authors created a tool that collects detailed data about how students write and debug code in real time, using a plugin for a popular code editor. This data helps teachers understand how well students are learning, spot common problems, and see if there's enough time to practice concepts. Unlike usual systems, their approach tracks every coding action, making it easier to study learning patterns and improve teaching methods. They aim to share this data openly to help educators tailor lessons based on actual student needs.

Learning analyticsCode quality metricsProgramming educationCode editor pluginReal-time data collectionStudent comprehensionEducational benchmarkingSkill acquisitionQuantitative metricsLearning Management System
Authors
Gilmar Gomes do Nascimento, Maria Claudia F. P Emer, Adolfo Gustavo Serra Seca Neto, Laudelino Cordeiro Bastos
Abstract
Software developers use metrics to evaluate code quality and productivity, but these practices are still rare in programming education. This project bridges the gap by collecting real-time learning analytics from individual student and whole-class code development logs. This granular, quantitative data provides educators with qualitative insights into the learning process. It allows them to evaluate student comprehension, identify common challenges, and critically assess whether the allocated time for exercises and algorithms is sufficient for mastery. Unlike traditional Learning Management Systems, we propose a novel approach: a plugin for a widely used code editor that captures granular interactions during programming and documentation. The resulting dataset logs coding behaviors, errors, and progress, enabling evidence-based analysis of learning patterns and educational benchmarking. By structuring this real-time programming trail, we support research on teaching methodologies, learner challenges, and skill acquisition. Quantitative metrics complement qualitative assessment by evaluating code, exercise progress, and timestamp logs. Our goal is to provide an open-access database for educators and researchers, fostering data-driven insights to enhance instruction and personalize learning experiences. This work aligns industrial best practices with pedagogical innovation, advancing measurable, empirical approaches to programming education.