James Finnie-Ansley

dblp:299/8542 · DBLP profile ↗
← Back
5ranked-venue papers
2as first author
5since 2021 · last 2024
0000-0002-4279-6284ORCID · corroborated

Domains — the database's venue-derived domains; a paper can count in several

Human-computer interaction and ubiquitous computing · 4 · 2 first-author · 4 since 2021Software engineering, systems software and programming languages · 1 · 1 since 2021
YearPublicationVenuePosition
2024 On the comprehensibility of functional decomposition: An empirical study
abstract
Folk-wisdom in software engineering suggests that small functions that adhere to the principle of single-responsibility have several advantages over longer, monolithic functions, including improvement in code comprehension. Despite this widespread view, empirical research on the impact of functional decomposition on understanding code is sparse, yet it is central to software development practices.
Ewan D. Tempero, Paul Denny 0001, James Finnie-Ansley, Andrew Luxton-Reilly, Diana Kirk, Juho Leinonen 0001, Asma Shakil, Robert J. Sheehan, James Tizard, Yu-Cheng Tu 0001, Burkhard Wünsche
ICPC3
2024 "It's Weird That it Knows What I Want": Usability and Interactions with Copilot for Novice Programmers
abstract
Recent developments in deep learning have resulted in code-generation models that produce source code from natural language and code-based prompts with high accuracy. This is likely to have profound effects in the classroom, where novices learning to code can now use free tools to automatically suggest solutions to programming exercises and assignments. However, little is currently known about how novices interact with these tools in practice. We present the first study that observes students at the introductory level using one such code auto-generating tool, Github Copilot, on a typical introductory programming (CS1) assignment. Through observations and interviews we explore student perceptions of the benefits and pitfalls of this technology for learning, present new observed interaction patterns, and discuss cognitive and metacognitive difficulties faced by students. We consider design implications of these findings, specifically in terms of how tools like Copilot can better support and scaffold the novice programming experience.
James Prather, Brent N. Reeves, Paul Denny 0001, Brett A. Becker, Juho Leinonen 0001, Andrew Luxton-Reilly, Garrett B. Powell, James Finnie-Ansley, Eddie A. Santos
ACM Trans. Comput. Hum. Interact.8
2023 Programming Is Hard - Or at Least It Used to Be: Educational Opportunities and Challenges of AI Code Generation
abstract
The introductory programming sequence has been the focus of much research in computing education. The recent advent of several viable and freely-available AI-driven code generation tools present several immediate opportunities and challenges in this domain. In this position paper we argue that the community needs to act quickly in deciding what possible opportunities can and should be leveraged and how, while also working on overcoming otherwise mitigating the possible challenges. Assuming that the effectiveness and proliferation of these tools will continue to progress rapidly, without quick, deliberate, and concerted efforts, educators will lose advantage in helping shape what opportunities come to be, and what challenges will endure. With this paper we aim to seed this discussion within the computing education community.
Brett A. Becker, Paul Denny 0001, James Finnie-Ansley, Andrew Luxton-Reilly, James Prather, Eddie A. Santos
SIGCSE (1)3
2022 Play Your Cards Right: Using Quantitative Card-Sort Data to Examine Students' Pattern-Like Concepts
abstract
In order to transfer problem solving knowledge effectively across tasks, students must be able to identify when two problems can be solved in similar ways. As instructors, it is helpful to know how well students can identify such similarities. Unfortunately, current efforts to understand how students categorise similar problems are laborious and time-consuming, involving intensive data collection and analysis. Our own prior work on analysing student categorisations of simple algorithmic patterns involved 35 hour-long interviews and time-consuming open coding of the resulting transcripts. It is clear that traditional approaches to elicit such knowledge are not scalable or reproducible.
James Finnie-Ansley, Paul Denny 0001, Andrew Luxton-Reilly
SIGCSE (1)1
2021 A Semblance of Similarity: Student Categorisation of Simple Algorithmic Problem Statements
abstract
When a student reads a programming problem statement, something has to happen; that something could be abject confusion, the beginnings of a search for a solution, or a well-formed understanding of what the problem is asking and how to solve it. Barring abject confusion, several theories explain the differences between these responses all revolving around the existence or non-existence of a problem schema – some mental concept or knowledge structure which encodes what it is to be a particular type of problem which gets solved in a particular type of way. Learners often lack appropriate schemata to call upon when solving problems, instead resorting to generic problem-solving techniques. Not only is this an inefficient method of solving problems, it can even inhibit the development of schemata. In line with constructivist theories of learning, effective teaching should build on the existing knowledge of learners; to do so, we must understand the nature of what they know – what do their schemata, as undeveloped as they may be, ‘look like’ and what concepts do they have about problems? In this paper, we explore the categories students identify when sorting simple algorithmic computing problem statements and the language they use to describe those categories. We conduct an interpretivist study involving a card sorting exercise, in which 35 computing students across four years of tertiary-level study grouped problem statements into categories they identified as meaningful, followed up with semi-structured interviews. Results of qualitative analysis revealed several students do demonstrate productive knowledge for identifying and reasoning about common tasks such as filtering, mapping, aggregating, and searching; however, this knowledge is fragile and concrete, and does not demonstrate the existence of pre-established problem schemata or abstract knowledge of algorithmic patterns. One implication of this work is that instruction may benefit from a more explicit focus on patterns and plans, and an established language with which students can communicate and reason about them.
James Finnie-Ansley, Paul Denny 0001, Andrew Luxton-Reilly
ICER1