Beacons and Novice Programming Comprehension

Abstract

Computer Science courses at tertiary level have one of the highest drop-out rates internationally. One of the main issues for this high attrition rate is often seen as CS1, the first Computer Science module usually encountered by students, which has a strong emphasis on computer programming. In order to aid students in the steep learning curve associated with programming, many different techniques have been utilised, to a varied degree of success. This paper aims to discover if particular lines of programming code exist that can help readers easily identify its functionality - referred to as a “beacon”. In a program containing a sort function, for example, advanced programmers might observe the swap code inside a loop and comprehend that it is a sorting algorithm, and therefore a beacon, without much further examination. This paper details the first phase of a study examining the presence of beacons in CS1 standard Java code using eye-tracking technology. In particular this paper will focus on the collection of data from non-novice programmers to determine whether or not beacons can be detected. Participants in this study were presented with basic Java programs and were asked to determine, from a list of possible options, what output was correct. Data was collected using an eye-tracking devices during a phase of experimentation and this data was subsequently analysed. From the analysis we were able to detect some beacons did exist in the code. In the future, some method of displaying these beacons could potentially be implemented as a form of intervention to aid students within the initial stages of learning a programming language

    Similar works