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.