Culligan, Natalie (2021) Two Roads Diverge: Mapping the Path of Learning for Novice Programmers Through Large Scale Interaction Data and Neural Network Classifiers.
Learning to program is a fundamental part of Computer Science education. To 
become a proficient programmer, one must become competent at both code 
comprehension and code production. Research shows that the most effective way 
to teach programming to students is through practical exercises. However, the 
increasing numbers of students in Computer Science classes means it is difficult to 
correct assignments and provide timely feedback. This can result in fewer practical 
assignments and/or less useful feedback for each student. Automated grading tools, 
and understanding of how novice programmers learn to code, is essential for these 
growing numbers of students. The Maynooth University Learning Environment, or 
MULE, was built to address this challenge. MULE is a cloud-based learning 
environment built from the ground up with the goal of teaching introductory 
programming courses in an authentic manner while facilitating the collection of 
large-scale behavioural data to support Learning Analytics. In this thesis, 
behavioural interaction data and code written by students in MULE is used to 
investigate the differences between successful and unsuccessful programming 
student behaviour, with the use of data analysis and Neural Network classifiers. 
The result is a method of classification that predicts early on if a student is likely to 
be in the top or bottom 50% of grades in the class with up to 87% accuracy, and a 
model of the path of learning for successful students, including key times, 
assignments, and topics during the introduction to programming module when the 
higher and lower achieving students diverge in behaviour.
![]()  | 
      
        
 Tools
 Tools