Pedagogically Anchored Code Clustering: Integrating Assignment Specifications with Control Flow and Structural Features
摘要
The exponential growth of programming submissions in Learning Management Systems (LMS) and Massive Open Online Courses (MOOCs) necessitates scalable methods to analyze and cluster student code effectively. While existing techniques leverage syntactic and semantic features–such as anonymized abstract syntax trees (AASTs) and control flow graphs (CFGs)–they often overlook explicit alignment with pedagogical assignment specifications, limiting their ability to distinguish semantically equivalent solutions from distinct strategies. This paper introduces Pedagogically Anchored Code Clustering (PACC), a scalable framework that integrates assignment requirements, CFGs, and AASTs to cluster student submissions based on algorithmic intent and structural adherence to problem constraints. By employing natural language processing (NLP) to extract assignment-specific features (e.g., required operations, data structures, and constraints) and combining them with quantitative control flow and anonymized syntactic representations, PACC achieves a 74% reduction in clusters compared to syntax-only methods while preserving semantic granularity. Evaluated on 8,989 submissions from real-world LMS datasets, PACC demonstrates linear scalability, processing 500+ submissions in under 3 min, and clusters programs with 92% accuracy in aligning solutions to instructor-defined correct strategies. The framework uniquely bridges pedagogical intent with code semantics, enabling automated feedback systems to prioritize clusters that reflect both correct and common incorrect patterns tied to assignment objectives. This work advances scalable clustering for LMS environments, offering a pathway to personalized feedback and curriculum refinement in large-scale CS education.