SearcharxivSearch

arXiv subjects

Laurie Gale

Publications and source records attributed to Laurie Gale.

4 recordsLinked to original sources

Empowering Computing Education Researchers Through LLM-Assisted Content Analysis

Computing education research (CER) is often instigated by practitioners wanting to improve both their own and the wider discipline's teaching practice. However, the latter is often difficult as many researchers lack the colleagues, resources, or capacity to conduct research that is generalisable or rigorous enough to advance the discipline. As a result, research methods that enable sense-making with larger volumes of qualitative data, while not increasing the burden on the researcher, have significant potential within CER. In this discussion paper, we propose such a method for conducting rigorous analysis on large volumes of textual data, namely a variation of LLM-assisted content analysis (LACA). This method combines content analysis with the use of large language models, empowering researchers to conduct larger-scale research which they would otherwise not be able to perform. Using a computing education dataset, we illustrate how LACA could be applied in a reproducible and rigorous manner. We believe this method has potential in CER, enabling more generalisable findings from a wider range of research. This, together with the development of similar methods, can help to advance both the practice and research quality of the CER discipline.

cs.CL

PRIMMDebug: Teaching Secondary School Students a Reflective Approach to Debugging

Debugging is a challenging and infuriating experience for many secondary school students learning their first text-based programming language. One frequent problem is the lack of reflection in students' debugging strategies, which makes error resolution unlikely and teacher reliance common. Tools that encourage more reflective and teacher-independent debugging may foster more student success with fixing errors, but are lacking. This paper presents PRIMMDebug, an approach for teaching the debugging process to secondary school students. PRIMMDebug consists of an online tool that takes students through the steps of a pedagogical process based on PRIMM, a framework for teaching programming. The tool promotes reflective debugging by encouraging written articulation throughout the debugging process and limiting the ability to run and edit code at certain stages. A classroom study with PRIMMDebug found a general reluctance among students to engage with this reflection, despite teachers appreciating the purposeful approach it facilitated. From our findings, we suggest three considerations for future pedagogical debugging research and tooling: balance structure and flexibility, teach shorter debugging heuristics, and use tooling early on in students' programming journey.

cs.HC

The Hands-Up Problem and How to Deal With It: Secondary School Teachers' Experiences of Debugging in the Classroom

Debugging is a vital but challenging skill for beginner programmers to learn. It is also a difficult skill to teach. For secondary school teachers, who may lack time or programming experience, honing students' understanding of debugging can be a daunting task. Despite this, little research has explored their perspectives of debugging. To this end, we investigated secondary teachers' experiences of debugging in the classroom, with a focus on text-based programming. Through thematic analysis of nine semi-structured interviews, we identified a common reliance on the teacher for debugging support, embodied by many raised hands. We call this phenomenon the "hands-up problem". While more experienced and confident teachers discussed strategies they use to counteract this, less confident teachers discussed the negative consequences of this problem. We recommend further research into debugging-specific pedagogical content knowledge and professional development to help less confident teachers develop approaches for supporting their students with debugging.

cs.CY

An Investigation Into Secondary School Students' Debugging Behaviour in Python

Background and context: Debugging is a significant and often frustrating challenge for beginner programmers. Understanding students' debugging behaviours and strategies can help to identify common difficulties and inform approaches for alleviating these. Currently, there are limited studies of school students' debugging behaviour in a text-based programming language, a medium through which millions are learning to program. Objectives: In this paper, we investigate the debugging behaviour of 12-14-year-old students learning Python through a lesson-long classroom study. Method: We collected program snapshots from 73 students' attempts at a set of Python debugging exercises in an online code editor. Through qualitative content analysis of these snapshots, we developed a granular categorisation of the changes students made when debugging. Findings: While most students were able to resolve some errors, most also frequently exhibited ineffective debugging behaviours. Many students added errors through small-scale changes, reverted corrective changes, and repeatedly ran identical programs in quick succession. From the results, we identify four barriers to successful and reliable debugging for students learning a text-based programming language: fragile knowledge, a lack of systematicity and reflection, the syntax barrier, and dynamics of emotions and attitudes. Implications: This paper highlights some of the difficulties that secondary school students have when debugging in Python. We recommend that school teachers explicitly teach a systematic approach to debugging and discourage the use of ineffective debugging behaviours, and that programming environments should contain features that facilitate successful debugging.

cs.CY