VLDB 2026 Research / reviewers in the wild / expert
James Prather
dblp:204/5039
· DBLP profile ↗
43ranked-venue papers
12as first author
37since 2021 · last 2026
0000-0003-2807-6042ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Human-computer interaction and ubiquitous computing · 42 · 12 first-author · 36 since 2021Applied, interdisciplinary, general and emerging computing · 1 · 1 since 2021
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2026 | Fast and Forgettable: A Controlled Study of Novices' Performance, Learning, Workload, and Emotion in AI-Assisted and Human Pair Programming ParadigmsabstractCode-generating Artificial Intelligence has gained popularity within both professional and educational programming settings over the past several years. While research and pedagogy are beginning to cope with this change, computing students are left to bear the unforeseen consequences of AI amidst a dearth of empirical evidence about its effects. Though pair programming between students is well studied and known to be beneficial to self-efficacy and academic achievement, it remains underutilized and further threatened by the proposition that AI can replace a human programming partner. In this paper, we present a controlled pair programming study with 22 participants who wrote Python code under time pressure in teams of two and individually with GitHub Copilot for 20 minutes each. They were incentivized by bonus compensation to balance performance with understanding and were retested individually on the programming tasks after a retention interval of one week. Subjective measures of workload and emotion as well as objective measures of performance and learning (retest performance) were collected. When first programming with AI, participants clearly performed better and had an easier time. On retest, they were not dramatically worse in raw score from the human-human condition, but human-AI pairs lost more of their initial advantage. Additionally, the emotional effect of the human teammate was significantly more positive and arousing as compared to working with Copilot. We recommend that educators strongly consider revisiting pair programming as an educational tool in addition to embracing modern AI. Nicholas Gardella, James Prather, Juho Leinonen 0001, Paul Denny 0001, Raymond Pettit, Sara Lu Riggs |
ICER (1) | 2 |
| 2026 | Understanding Student Perceptions, Mistakes, and Debugging Approaches when Solving Natural Language Programming TasksabstractLearning to communicate with code-generating AI models is an emerging skill for novice programmers. One recent pedagogical approach, Prompt Problems, has students solve computational tasks by writing natural-language prompts for code-generating AI models. However, little is known about the specific prompt-level mistakes novice programmers make, the kinds of computational details they fail to communicate, and what strategies they use to recover when generated code is incorrect. In a CS1 course, we studied attempts by more than 900 students to solve dialogue-based Prompt Problems. We analyzed student reflections, unsuccessful prompts, and reported debugging strategies. Compared to traditional coding tasks, students generally found prompting easier, more enjoyable, and better targeted at developing problem-solving skills. The most common mistakes are related to the omission of key details, suggesting both a failure to acknowledge their importance and over-reliance on AI to infer them. When prompts failed, students focused more on clarifying their intent and reflecting on the provided problem details than on tracing generated code or examining test cases. Victor-Alexandru Padurean, Kaitlin Riegel, Gweneth Barbre, Musa Blake, Paul Denny 0001, Alkis Gotovos, Juho Leinonen 0001, Stephen MacNeil, James Prather, Adish Singla |
ICER (1) | 9 |
| 2026 | When AI Is Wrong on Purpose: How Students Respond to Buggy GenAI Code
Victor-Alexandru Padurean, Kaitlin Riegel, Alkis Gotovos, Jyotika Mahapatra, Ahana Ghosh, Paul Denny 0001, Juho Leinonen 0001, James Prather, Adish Singla |
ICER (1) | 8 |
| 2026 | A Validated Scale Measuring Student Self-Efficacy for Programming with Generative AIabstractThe rise of generative artificial intelligence (GenAI) has sparked a rapid change in computing curricula and teaching approaches. GenAI coding tools can accurately complete assignments, answer test questions, and perform other tasks traditionally associated with learning programming, especially at the introductory level. Because GenAI is still so new, researchers investigating student usage of GenAI have used informal rubrics and questionnaires. To advance, the field needs validated instruments that measure student perception and use of GenAI. This paper presents the development and initial validation of an instrument to measure self-efficacy while using GenAI to learn programming. Self-efficacy is an important construct in education research because it robustly correlates with student success, across disciplines and ages, including undergraduate computing education. Computing education researchers have presented several validated self-efficacy instruments, most recently by Steinhorst et al. in 2020. Critically, this instrument was created before the rise of GenAI’s popularity in 2022. To complement this instrument, we created a GenAI scale similar in style to the Steinhorst self-efficacy instrument, consisting originally of 11 items and revised to 5 items. We report two important findings in this paper. First, we found strong support for the validity of the existing Steinhorst instrument in a new context, specifically an introductory programming course that fully integrates GenAI. Second, the new GenAI scale shows strong internal reliability, discriminant validity with items in the Steinhorst subscales, and criterion validity with students’ GenAI usage patterns. Based on statistical analysis and cognitive probing interviews, we argue for the validity of the five-item scale to measure students’ GenAI self-efficacy in the context of programming. James Prather, Lauren E. Margulieux, Yekaterina Kharitonova, Yonggao Yang, Brent N. Reeves, Paul Denny 0001, Jamie Gorson Benario, Ernest D. V. Holmes, Erin M. Spaulding, Gweneth Barbre, Musa Blake, Juho Leinonen 0001 |
ICER (1) | 1 |
| 2026 | Scaffolding Autocomplete: Improving Guidance for Learners using Generative Code SuggestionsabstractModern programming tools use generative AI (GenAI) to suggest code to the user as they type, interrupting their problem-solving behavior and undermining the development of their programming critical thinking skills. In this paper, we present a scaffolded programming exercise designed to support student differentiation between good and bad GenAI code suggestions based on negative expertise–that identifying why an answer is wrong is part of developing conceptual knowledge. We compare a version of the tool that showed one suggestion (correct or not), to a version that showed three suggestions (one of which was correct). We present results on performance and error rates as well as qualitative findings centered on Pintrich and DeGroot’s theory of self-regulation. Students reported that the single suggestion version better aligned with industry tools and presented a lower cognitive load. Students also reported that the multiple suggestion version caused them to slow down and think critically about the line under consideration, the overall purpose of the code, and the benefits of planning. James Prather, Stephen MacNeil, Andrew Luxton-Reilly, Lauren E. Margulieux, Brent N. Reeves, Paul Denny 0001, Juho Leinonen 0001, John Homer, Rahad Arman Nabid, Rachel Louise Rossetti |
ICER (1) | 1 |
| 2026 | Interleaving Natural Language Prompting with Code Editing for Solving Programming Tasks with Generative AI ModelsabstractPublisher Copyright: © 2026 Owner/Author. Victor-Alexandru Padurean, Alkis Gotovos, Ahana Ghosh, Paul Denny 0001, Juho Leinonen 0001, Andrew Luxton-Reilly, James Prather, Adish Singla |
ITiCSE (1) | 7 |
| 2026 | Say What? Examining Text and Voice Input Modalities for Prompt-Based Programming in Computing EducationabstractLarge language models (LLMs) are increasingly integrated into computing education, yet nearly all prior research has focused on text-based interactions.As voice-enabled interfaces become more capable and more common, there is growing interest in understanding how voice input might shape students' use of LLM-powered tools.In this exploratory study, we investigated how introductory programming students interact with Prompt Problems, which are programming tasks that require crafting natural-language prompts to generate correct code.Students (N = 919) solved a series of Prompt Problems with the freedom to select or switch between text and voice input modalities.We collected their prompt submissions as well as post-activity survey responses, then analysed differences in prompt accuracy, persistence, and perspectives by modality.For two of the three problems, we found that students who typed their prompts using text were more likely to have those prompts succeed on the first attempt than students who submitted unedited voice prompts.There was no difference in success rate if students edited their transcribed voice prompts before submission.Across the problems, we found evidence that students who tried voice prompting varied in their usage of modality -perhaps indicating a complementary, or non-preferential approach.However, most students only tried and reported preferring text.Our qualitative analysis revealed how students' perceived the roles of voice and text input in shaping their problem-solving process, as well as the reported drawbacks and advantages of each modality.We discuss implications for future multimodal tools and instructional design in computing education. Kaitlin Riegel, Yan Cathy Hua, Paul Denny 0001, Victor-Alexandru Padurean, Juho Leinonen 0001, James Prather, Adish Singla |
ITiCSE (1) | 6 |
| 2025 | Probing the Unknown: Exploring Student Interactions with Probeable Problems at Scale in Introductory ProgrammingabstractIntroductory programming courses often rely on small code-writing exercises that have clearly specified problem statements. This limits opportunities for students to practice how to clarify ambiguous requirements -- a critical skill in real-world programming. In addition, the emerging capabilities of large language models (LLMs) to produce code from well-defined specifications may harm student engagement with traditional programming exercises. This study explores the use of ``Probeable Problems'', automatically gradable tasks that have deliberately vague or incomplete specifications. Such problems require students to submit test inputs, or `probes', to clarify requirements before implementation. Through analysis of over 40,000 probes in an introductory course, we identify patterns linking probing behaviors to task success. Systematic strategies, such as thoroughly exploring expected behavior before coding, resulted in fewer incorrect code submissions and correlated with course success. Feedback from nearly 1,000 participants highlighted the challenges and real-world relevance of these tasks, as well as benefits to critical thinking and metacognitive skills. Probeable Problems are easy to set up and deploy at scale, and help students recognize and resolve uncertainties in programming problems. Paul Denny 0001, Viraj Kumar, Stephen MacNeil, James Prather, Juho Leinonen 0001 |
ITiCSE (1) | 4 |
| 2025 | Fostering Responsible AI Use Through Negative Expertise: A Contextualized Autocompletion QuizabstractPublisher Copyright: © 2025 Copyright held by the owner/author(s). Stephen MacNeil, James Prather, Rahad Arman Nabid, Sebastian Gutierrez, Silas Carvalho, Saimon Shrestha, Paul Denny 0001, Brent N. Reeves, Juho Leinonen 0001, Rachel Louise Rossetti |
ITiCSE (1) | 2 |
| 2025 | The Impact of Students' Views of Failure on Performance in Introductory Programming CoursesabstractIntroductory programming courses present a unique challenge for many students as a novel discipline, requiring significant time investment and featuring a steep learning curve, resulting in students experiencing high levels of failure while learning. Students' perspectives on failure are crucial in determining how they confront these challenges and, consequently, their learning outcomes. This study investigates the relationship between undergraduate students' views on failure--measured by validated scales about growth mindset, fear of failure, self-efficacy, and academic resilience--with their performance in introductory programming courses. While self-efficacy and growth mindset are well-studied in computing education, fear of failure and academic resilience remain understudied despite their prominence in other disciplines. We collected data from three universities to conduct a repeated measures study of 58 students' attitudes toward failure at the beginning and the end of the semester. Our results indicated self-efficacy and fear of failure uniquely predicted performance, with lower self-efficacy and higher fear of failure related to poorer outcomes. Furthermore, students with lower self-efficacy and higher fear of failure were four times more likely to withdraw from or fail the course. Our findings suggest that measuring self-efficacy and fear of failure at the beginning of the semester can help identify at-risk students who need support. Research and interventions related to academic fear of failure from other STEM fields should be examined in the context of computing education to improve outcomes for our students. Masoumeh Rahimi, Lauren E. Margulieux, Dwayne Towell, Jonathan Calver, Dastyni Loksa, James Prather |
ITiCSE (1) | 6 |
| 2024 | "Backseat Gaming" A Study of Co-Regulated Learning within a Collegiate Male Esports CommunityabstractPrevious work demonstrated that esports players often leverage insights from other players and communities to learn and improve. However, little research examined social learning in esports, over time, in granular detail. Understanding the role of others in the esports learning process has implications for the design of computational support systems that can help esports players learn and make the games more accessible. Therefore, we perform an exploration of this topic using Co-Regulated Learning as a theoretical lens. In doing so, we hope to enrich existing knowledge on social learning in esports, provide insights for the future development of computational support, and a road-map for future work. Through an interview study of an esports community consisting of 14, college-aged, male players, we uncovered 10 themes regarding how Co-Regulated learning occurs within their teams. Based on these, we discuss three main takeaways and their implications for future research and development. Erica Kleinman, Reza Habibi, Garrett B. Powell, Brent N. Reeves, James Prather, Magy Seif El-Nasr |
CHI | 5 |
| 2024 | Generative AI in Education: A Study of Educators' Awareness, Sentiments, and Influencing FactorsabstractThis research full paper delves into university in-structors' experiences and attitudes toward AI language models, filling a gap in the literature by analyzing educators' perspectives on AI's role in the classroom and its potential impacts on teaching and learning. The rapid advancement of artificial intelligence (AI) and the expanding integration of large language models (LLMs) have ignited a debate about their application in education. The objective of this research is to investigate the level of awareness, overall sentiment towards adoption, and the factors influencing these attitudes for LLMs and generative AI-based tools in higher education. Data was collected through a survey using a Likert scale, which was complemented by follow-up interviews to gain a more nuanced understanding of the instructors' viewpoints. The collected data was processed using statistical and thematic analysis techniques. Our findings reveal that educators are increasingly aware of and generally positive towards these tools. We find no correlation between teaching style and attitude toward generative AI. Finally, while CS educators show far more confidence in their technical understanding of generative AI tools and more positivity towards them than educators in other fields, they show no more confidence in their ability to detect AI-generated work. Aashish Ghimire, James Prather |
FIE | 2 |
| 2024 | Evaluating Contextually Personalized Programming Exercises Created with Generative AIabstractProgramming skills are typically developed through completing various hands-on exercises. Such programming problems can be contextualized to students’ interests and cultural backgrounds. Prior research in educational psychology has demonstrated that context personalization of exercises stimulates learners’ situational interests and positively affects their engagement. However, creating a varied and comprehensive set of programming exercises for students to practice on is a time-consuming and laborious task for computer science educators. Previous studies have shown that large language models can generate conceptually and contextually relevant programming exercises. Thus, they offer a possibility to automatically produce personalized programming problems to fit students’ interests and needs. This article reports on a user study conducted in an elective introductory programming course that included contextually personalized programming exercises created with GPT-4. The quality of the exercises was evaluated by both the students and the authors. Additionally, this work investigated student attitudes towards the created exercises and their engagement with the system. The results demonstrate that the quality of exercises generated with GPT-4 was generally high. What is more, the course participants found them engaging and useful. This suggests that AI-generated programming problems can be a worthwhile addition to introductory programming courses, as they provide students with a practically unlimited pool of practice material tailored to their personal interests and educational needs. Evanfiya Logacheva, Arto Hellas, James Prather, Sami Sarsa, Juho Leinonen 0001 |
ICER (1) | 3 |
| 2024 | The Widening Gap: The Benefits and Harms of Generative AI for Novice ProgrammersabstractNovice programmers often struggle through programming problem solving due to a lack of metacognitive awareness and strategies. Previous research has shown that novices can encounter multiple metacognitive difficulties while programming, such as forming incorrect conceptual models of the problem or having a false sense of progress after testing their solution. Novices are typically unaware of how these difficulties are hindering their progress. Meanwhile, many novices are now programming with generative AI (GenAI), which can provide complete solutions to most introductory programming problems, code suggestions, hints for next steps when stuck, and explain cryptic error messages. Its impact on novice metacognition has only started to be explored. Here we replicate a previous study that examined novice programming problem solving behavior and extend it by incorporating GenAI tools. Through 21 lab sessions consisting of participant observation, interview, and eye tracking, we explore how novices are coding with GenAI tools. Although 20 of 21 students completed the assigned programming problem, our findings show an unfortunate divide in the use of GenAI tools between students who did and did not struggle. Some students who did not struggle were able to use GenAI to accelerate, creating code they already intended to make, and were able to ignore unhelpful or incorrect inline code suggestions. But for students who struggled, our findings indicate that previously known metacognitive difficulties persist, and that GenAI unfortunately can compound them and even introduce new metacognitive difficulties. Furthermore, struggling students often expressed cognitive dissonance about their problem solving ability, thought they performed better than they did, and finished with an illusion of competence. Based on our observations from both groups, we propose ways to scaffold the novice GenAI experience and make suggestions for future work. James Prather, Brent N. Reeves, Juho Leinonen 0001, Stephen MacNeil, Arisoa S. Randrianasolo, Brett A. Becker, Bailey Kimmel, Jared Wright, Ben Briggs |
ICER (1) | 1 |
| 2024 | Explaining Code with a Purpose: An Integrated Approach for Developing Code Comprehension and Prompting SkillsabstractPublisher Copyright: © 2024 Owner/Author. Paul Denny 0001, David H. Smith, Maxwell Fowler, James Prather, Brett A. Becker, Juho Leinonen 0001 |
ITiCSE (1) | 4 |
| 2024 | Self-Regulation, Self-Efficacy, and Fear of Failure Interactions with How Novices Use LLMs to Solve Programming ProblemsabstractWe explored how undergraduate introductory programming students naturalistically used generative AI to solve programming problems. We focused on the relationship between their use of AI to their self-regulation strategies, self-efficacy, and fear of failure in programming. In this repeated-measures, mixed-methods research, we examined students' patterns of using generative AI with qualitative student reflections and their self-regulation, self-efficacy, and fear of failure with quantitative instruments at multiple times throughout the semester. We also explored the relationships among these variables to learner characteristics, perceived usefulness of AI, and performance. Overall, our results suggest that student factors affect their baseline use of AI. In particular, students with higher self-efficacy, lower fear of failure, or higher prior grades tended to use AI less or later in the problem-solving process and rated it as less useful than others. Interestingly, we found no relationship between students' self-regulation strategies and their use of AI. Students who used AI less or later in problem-solving also had higher grades in the course, but this is most likely due to prior characteristics as our data do not suggest that this is a causal relationship. Lauren E. Margulieux, James Prather, Brent N. Reeves, Brett A. Becker, Gozde Cetin Uzun, Dastyni Loksa, Juho Leinonen 0001, Paul Denny 0001 |
ITiCSE (1) | 2 |
| 2024 | How Instructors Incorporate Generative AI into Teaching ComputingabstractGenerative AI (GenAI) has seen great advancements in the past two years and the conversation around adoption is increasing. Widely available GenAI tools are disrupting classroom practices as they can write and explain code with minimal student prompting. While most acknowledge that there is no way to stop students from using such tools, a consensus has yet to form on how students should use them if they choose to do so. At the same time, researchers have begun to introduce new pedagogical tools that integrate GenAI into computing curricula. These new tools offer students personalized help or attempt to teach prompting skills without undercutting code comprehension. This working group aims to detail the current landscape of education-focused GenAI tools and teaching approaches, present gaps where new tools or approaches could appear, identify good practice-examples, and provide a guide for instructors to utilize GenAI as they continue to adapt to this new era. James Prather, Juho Leinonen 0001, Natalie Kiesler, Jamie Gorson Benario, Sam Lau, Stephen MacNeil, Narges Norouzi, Simone Opel, Virginia Pettit, Leo Porter 0001, Brent N. Reeves, Jaromír Savelka, David H. Smith IV, Sven Strickroth, Daniel Zingaro |
ITiCSE (2) | 1 |
| 2024 | Prompt Problems: A New Programming Exercise for the Generative AI EraabstractLarge language models (LLMs) are revolutionizing the field of computing education with their powerful code-generating capabilities. Traditional pedagogical practices have focused on code writing tasks, but there is now a shift in importance towards reading, comprehending and evaluating LLM-generated code. Alongside this shift, an important new skill is emerging -- the ability to solve programming tasks by constructing good prompts for code-generating models. In this work we introduce a new type of programming exercise to hone this nascent skill: 'Prompt Problems'. Prompt Problems are designed to help students learn how to write effective prompts for AI code generators. A student solves a Prompt Problem by crafting a natural language prompt which, when provided as input to an LLM, outputs code that successfully solves a specified programming task. We also present a new web-based tool called Promptly which hosts a repository of Prompt Problems and supports the automated evaluation of prompt-generated code. We deploy Promptly in one CS1 and one CS2 course and describe our experiences, which include student perceptions of this new type of activity and their interactions with the tool. We find that students are enthusiastic about Prompt Problems, and appreciate how the problems engage their computational thinking skills and expose them to new programming constructs. We discuss ideas for the future development of new variations of Prompt Problems, and the need to carefully study their integration into classroom practice. Paul Denny 0001, Juho Leinonen 0001, James Prather, Andrew Luxton-Reilly, Thezyrie Amarouche, Brett A. Becker, Brent N. Reeves |
SIGCSE (1) | 3 |
| 2024 | AI in Computing Education from Research to PracticeabstractThe panel comprises a diverse set of Computing educators working on AI in education. The panelists will address four areas of AI in Computing education: 1) AI for introductory CS classrooms, 2) Investigating opportunities presented by LLMs, 3) LLM-based tool development, and 4) Ethics and inclusion in AI curriculum. The panel will share experiences and discuss opportunities and challenges in AI education with the community. Bita Akram, Juho Leinonen 0001, Narges Norouzi, James Prather, Lisa Zhang 0003 |
SIGCSE (2) | 4 |
| 2024 | Discussing the Changing Landscape of Generative AI in Computing EducationabstractIn a previous Birds of a Feather discussion, we delved into the nascent applications of generative AI, contemplating its potential and speculating on future trajectories. Since then, the landscape has continued to evolve revealing the capabilities and limitations of these models. Despite this progress, the computing education research community still faces uncertainty around pivotal aspects such as (1) academic integrity and assessments, (2) curricular adaptations, (3) pedagogical strategies, and (4) the competencies students require to instill responsible use of these tools. The goal of this Birds of a Feather discussion is to unravel these pressing and persistent issues with computing educators and researchers, fostering a collaborative exploration of strategies to navigate the educational implications of advancing generative AI technologies. Aligned with this goal of building an inclusive learning community, our BoF is led by globally distributed leaders to facilitate multiple coordinated discussions that can lead to a broader conversation about the role of LLMs in CS education. Stephen MacNeil, Juho Leinonen 0001, Paul Denny 0001, Natalie Kiesler, Arto Hellas, James Prather, Brett A. Becker, Michel Wermelinger, Karen Reid |
SIGCSE (2) | 6 |
| 2024 | Solving Proof Block Problems Using Large Language ModelsabstractLarge language models (LLMs) have recently taken many fields, including computer science, by storm. Most recent work on LLMs in computing education has shown that they are capable of solving most introductory programming (CS1) exercises, exam questions, Parsons problems, and several other types of exercises and questions. Some work has investigated the ability of LLMs to solve CS2 problems as well. However, it remains unclear how well LLMs fare against more advanced upper-division coursework, such as proofs in algorithms courses. After all, while known to be proficient in many programming tasks, LLMs have been shown to have more difficulties in forming mathematical proofs. Seth Poulsen, Sami Sarsa, James Prather, Juho Leinonen 0001, Brett A. Becker, Arto Hellas, Paul Denny 0001, Brent N. Reeves |
SIGCSE (1) | 3 |
| 2024 | "It's Weird That it Knows What I Want": Usability and Interactions with Copilot for Novice ProgrammersabstractRecent 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. | 1 |
| 2023 | Benefits of Failure on Neuroplasticity and Tools for Persistence
Masoumeh Rahimi, Lauren E. Margulieux, James Prather, Gozde Cetin Uzun, Bailey Kimmel |
ICER (2) | 3 |
| 2023 | Chat Overflow: Artificially Intelligent Models for Computing Education - renAIssance or apocAIypse?abstractRecent breakthroughs in deep learning have led to the emergence of generative AI models that exhibit extraordinary performance at producing human-like outputs. Using only simple input prompts, it is possible to generate novel text, images, video, music, and source code, as well as tackle tasks such as answering questions and translating and summarising text. Paul Denny 0001, Brett A. Becker, Juho Leinonen 0001, James Prather |
ITiCSE (1) | 4 |
| 2023 | Transformed by Transformers: Navigating the AI Coding Revolution for Computing Education: An ITiCSE Working Group Conducted by HumansabstractThe recent advent of highly accurate and scalable large language models (LLMs) has taken the world by storm. From art to essays to computer code, LLMs are producing novel content that until recently was thought only humans could produce. Recent work in computing education has sought to understand the capabilities of LLMs for solving tasks such as writing code, explaining code, creating novel coding assignments, interpreting programming error messages, and more. However, these technologies continue to evolve at an astonishing rate leaving educators little time to adapt. This working group seeks to document the state-of-the-art for code generation LLMs, detail current opportunities and challenges related to their use, and present actionable approaches to integrating them into computing curricula. James Prather, Paul Denny 0001, Juho Leinonen 0001, Brett A. Becker, Ibrahim Albluwi, Michael E. Caspersen, Michelle Craig, Hieke Keuning, Natalie Kiesler, Tobias Kohn, Andrew Luxton-Reilly, Stephen MacNeil, Andrew Petersen 0001, Raymond Pettit, Brent N. Reeves, Jaromír Savelka |
ITiCSE (2) | 1 |
| 2023 | Evaluating the Performance of Code Generation Models for Solving Parsons Problems With Small Prompt VariationsabstractThe recent emergence of code generation tools powered by large language models has attracted wide attention. Models such as OpenAI Codex can take natural language problem descriptions as input and generate highly accurate source code solutions, with potentially significant implications for computing education. Given the many complexities that students face when learning to write code, they may quickly become reliant on such tools without properly understanding the underlying concepts. One popular approach for scaffolding the code writing process is to use Parsons problems, which present solution lines of code in a scrambled order. These remove the complexities of low-level syntax, and allow students to focus on algorithmic and design-level problem solving. It is unclear how well code generation models can be applied to solve Parsons problems, given the mechanics of these models and prior evidence that they underperform when problems include specific restrictions. In this paper, we explore the performance of the Codex model for solving Parsons problems over various prompt variations. Using a corpus of Parsons problems we sourced from the computing education literature, we find that Codex successfully reorders the problem blocks about half of the time, a much lower rate of success when compared to prior work on more free-form programming tasks. Regarding prompts, we find that small variations in prompting have a noticeable effect on model performance, although the effect is not as pronounced as between different problems. Brent N. Reeves, Sami Sarsa, James Prather, Paul Denny 0001, Brett A. Becker, Arto Hellas, Bailey Kimmel, Garrett B. Powell, Juho Leinonen 0001 |
ITiCSE (1) | 3 |
| 2023 | Using Large Language Models to Enhance Programming Error MessagesabstractA key part of learning to program is learning to understand programming error messages. They can be hard to interpret and identifying the cause of errors can be time-consuming. One factor in this challenge is that the messages are typically intended for an audience that already knows how to program, or even for programming environments that then use the information to highlight areas in code. Researchers have been working on making these errors more novice friendly since the 1960s, however progress has been slow. The present work contributes to this stream of research by using large language models to enhance programming error messages with explanations of the errors and suggestions on how to fix them. Large language models can be used to create useful and novice-friendly enhancements to programming error messages that sometimes surpass the original programming error messages in interpretability and actionability. These results provide further evidence of the benefits of large language models for computing educators, highlighting their use in areas known to be challenging for students. We further discuss the benefits and downsides of large language models and highlight future streams of research for enhancing programming error messages. Juho Leinonen 0001, Arto Hellas, Sami Sarsa, Brent N. Reeves, Paul Denny 0001, James Prather, Brett A. Becker |
SIGCSE (1) | 6 |
| 2023 | Community Input for CS2023: Society, Ethics and ProfessionalismabstractThe current ACM/IEEE/AAAI Computer Science Curricula is approaching ten years of age. The CS2023 Steering Committee began efforts to update this important document in spring 2021 (csed.acm.org). The aim of this session is to seek feedback from the community on an advanced draft of the Society, Ethics and Professionalism (SEP) knowledge area. Much has transpired in the last decade within these domains including the role of social media in our daily lives, professional roles, and even our elections. Today, fake news, data leaks, hacks, and scandals involving personal information are rife. The impact of computing on society has never been more high-stakes, our ethics have never been tested in these ways, and the need for up-to-date professionalism has never been greater. In this light we seek to gather as many diverse views as possible to help us shape a Society, Ethics & Professionalism knowledge area that can serve the community and our students for the next decade. Brett A. Becker, Richard Blumenthal 0001, Michael Goldweber, James Prather, Susan Reiser, Michelle Trim, Titus Winters |
SIGCSE (2) | 4 |
| 2023 | Programming Is Hard - Or at Least It Used to Be: Educational Opportunities and Challenges of AI Code GenerationabstractThe 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) | 5 |
| 2023 | The Implications of Large Language Models for CS Teachers and StudentsabstractThe introduction of Large Language Models (LLMs) has generated a significant amount of excitement both in industry and among researchers. Recently, tools that leverage LLMs have made their way into the classroom where they help students generate code and help instructors generate learning materials. There are likely many more uses of these tools -- both beneficial to learning and possibly detrimental to learning. To help ensure that these tools are used to enhance learning, educators need to not only be familiar with these tools, but with their use and potential misuse. The goal of this BoF is to raise awareness about LLMs and to build a learning community around their use in computing education. Aligned with this goal of building an inclusive learning community, our BoF is led by globally distributed discussion leaders, including undergraduate researchers, to facilitate multiple coordinated discussions that can lead to a broader conversation about the role of LLMs in CS education. Stephen MacNeil, Joanne Kim, Juho Leinonen 0001, Paul Denny 0001, Seth Bernstein, Brett A. Becker, Michel Wermelinger, Arto Hellas, Andrew Tran, Sami Sarsa, James Prather, Viraj Kumar |
SIGCSE (2) | 11 |
| 2023 | First Steps Towards Predicting the Readability of Programming Error MessagesabstractReading a programming error message is the first step in understanding what it is trying to tell the programmer about how to fix an error in their code. However, these are often difficult to read, especially for novices which is not surprising given that error messages in many of the most popular languages in which novices learn to code were not written with readability in mind. As a result, novices frequently struggle to understand them. This is a long-standing problem, with researchers highlighting concerns about programming error message readability over the last six decades. Very recent work has put forward evidence of the need for measuring readability in error messages and a framework for doing so. This framework consists of four factors of readability for programming error messages: message length, vocabulary, jargon, and sentence construction. We use this framework to implement an approach to automatically assess the readability of programming error messages. Using established readability factors as predictors in a machine learning model, we train several models using a dataset of C and Java error messages. We examine the performance of these models, and apply the best performing model to a previously published set of messages evaluated for readability by experts, non-experts and students. Our results validate the previously proposed readability factors, and our model classifies messages similarly to human raters. Finally, we discuss future work needed to improve the accuracy of the model. James Prather, Paul Denny 0001, Brett A. Becker, Robert Nix, Brent N. Reeves, Arisoa S. Randrianasolo, Garrett B. Powell |
SIGCSE (1) | 1 |
| 2022 | Getting By With Help From My Friends: Group Study in Introductory Programming Understood as Socially Shared RegulationabstractBackground and Context. Metacognitive skills are important for all students learning to program and interest in applying pedagogical approaches in early programming courses that focus on metacognitive aspects is growing. However, most studies of such approaches are not rigorously based in theory, and when they are, almost always utilize foundational education and psychology theories from as far back as the 1970s. More recent theory is less tested, and not all relevant metacognitive theories have been explored in the computing education research literature. James Prather, Lauren E. Margulieux, Jacqueline L. Whalley, Paul Denny 0001, Brent N. Reeves, Brett A. Becker, Paramvir Singh, Garrett B. Powell, Nigel Bosch |
ICER (1) | 1 |
| 2022 | Planning a Multi-institutional and Multi-national Study of the Effectiveness of Parsons ProblemsabstractProgramming is a complex task that requires the development of many skills including knowledge of syntax, problem decomposition, algorithm development, and debugging. Code-writing activities are commonly used to help students develop these skills, but the difficulty of writing code from a blank page can overwhelm many novices. Parsons problems offer a simpler alternative to writing code by providing scrambled code blocks that must be placed in the correct order to solve a problem. The extensive literature on Parsons problems documents numerous benefits to using them as both formative and summative assessments. These include more efficient learning, the possibility to dynamically adapt to learner needs, and more reliable grading. Despite these positive findings, further research is needed in order to draw broader inferences. Most work has been conducted at single institutions under unique conditions that are not easily replicated, and some prior studies have been inconclusive or had limitations that affected data validity. To address this, we propose a multi-institutional and multi-national study of the effectiveness of Parsons problems for novice programmers. We will focus on introductory programming courses (CS0/1/2) that use Java, Python, and C/C++ as these are the most common teaching languages. The working group will collaborate to refine the scope, methodology and research questions, and contribute to data collection and analysis. Barbara Ericson, Paul Denny 0001, James Prather, Rodrigo Duran 0001, Arto Hellas, Juho Leinonen 0001, Craig S. Miller, Briana B. Morrison, Janice L. Pearce, Susan H. Rodger |
ITiCSE (2) | 3 |
| 2022 | From the Horse's Mouth: The Words We Use to Teach Diverse Student Groups Across Three ContinentsabstractHumans adjust how they speak depending on context. Two key facets of this are utilizing different vocabulary and speaking rates depending on the audience. Exactly how we use language while teaching may depend on our students, their backgrounds and needs, and the subject matter. How we speak in the classroom likely affects student comprehension and may affect equity and accessibility. Brett A. Becker, Daniel Gallagher, Paul Denny 0001, James Prather, Colleen Gostomski, Kelli Norris, Garrett B. Powell |
SIGCSE (1) | 4 |
| 2022 | Novice Reflections During the Transition to a New Programming LanguageabstractAs computing students progress through their studies they become proficient with multiple programming languages. Prior work investigating language transitions for novices has tended to analyze program artifacts rather than explore the benefits and difficulties as perceived by students in their own words, and has often overlooked problems that may arise in switching paradigms or where familiar syntax has a different meaning in the new language. In this paper, we ask students to reflect on the transition from an interpreted language and environment (MATLAB) to a compiled language (C), prompting comments on the aspects of learning the new language that they found both easier and harder. Analysis of over 70,000 words written by 771 students revealed that the highest-performing students expressed more negative sentiments towards the language transition -- a surprising result that we hypothesize is explained by their generally stronger metacognitive skills. We also report the most common difficulties described by students, which include challenges with syntax, error messages, and the process of compilation, and suggest teaching practices that might help students as they transition to a new programming language. Paul Denny 0001, Brett A. Becker, Nigel Bosch, James Prather, Brent N. Reeves, Jacqueline L. Whalley |
SIGCSE (1) | 4 |
| 2022 | Metacognition and Self-Regulation in Programming Education: Theories and Exemplars of UseabstractMetacognition and self-regulation are important skills for successful learning and have been discussed and researched extensively in the general education literature for several decades. More recently, there has been growing interest in understanding how metacognitive and self-regulatory skills contribute to student success in the context of computing education. This article presents a thorough systematic review of metacognition and self-regulation work in the context of computer programming and an in-depth discussion of the theories that have been leveraged in some way. We also discuss several prominent metacognitive and self-regulation theories from the literature outside of computing education—for example, from psychology and education—that have yet to be applied in the context of programming education. In our investigation, we built a comprehensive corpus of papers on metacognition and self-regulation in programming education, and then employed backward snowballing to provide a deeper examination of foundational theories from outside computing education, some of which have been explored in programming education, and others that have yet to be but hold much promise. In addition, we make new observations about the way these theories are used by the computing education community, and present recommendations on how metacognition and self-regulation can help inform programming education in the future. In particular, we discuss exemplars of studies that have used existing theories to support their design and discussion of results as well as studies that have proposed their own metacognitive theories in the context of programming education. Readers will also find the article a useful resource for helping students in programming courses develop effective strategies for metacognition and self-regulation. Dastyni Loksa, Lauren E. Margulieux, Brett A. Becker, Michelle Craig, Paul Denny 0001, Raymond Pettit, James Prather |
ACM Trans. Comput. Educ. | 7 |
| 2021 | On Designing Programming Error Messages for Novices: Readability and its Constituent FactorsabstractProgramming error messages play an important role in learning to program. The cycle of program input and error message response completes a loop between the programmer and the compiler/interpreter and is a fundamental interaction between human and computer. However, error messages are notoriously problematic, especially for novices. Despite numerous guidelines citing the importance of message readability, there is little empirical research dedicated to understanding and assessing it. We report three related experiments investigating factors that influence programming error message readability. In the first two experiments we identify possible factors, and in the third we ask novice programmers to rate messages using scales derived from these factors. We find evidence that several key factors significantly affect message readability: message length, jargon use, sentence structure, and vocabulary. This provides novel empirical support for previously untested long-standing guidelines on message design, and informs future efforts to create readability metrics for programming error messages. Paul Denny 0001, James Prather, Brett A. Becker, Catherine Mooney, John Homer, Zachary Albrecht, Garrett B. Powell |
CHI | 2 |
| 2020 | What Do We Think We Think We Are Doing?: Metacognition and Self-Regulation in ProgrammingabstractMetacognition and self-regulation are popular areas of interest in programming education, and they have been extensively researched outside of computing. While computing education researchers should draw upon this prior work, programming education is unique enough that we should explore the extent to which prior work applies to our context. The goal of this systematic review is to support research on metacognition and self-regulation in programming education by synthesizing relevant theories, measurements, and prior work on these topics. By reviewing papers that mention metacognition or self-regulation in the context of programming, we aim to provide a benchmark of our current progress towards understanding these topics and recommendations for future research. In our results, we discuss eight common theories that are widely used outside of computing education research, half of which are commonly used in computing education research. We also highlight 11 theories on related constructs (e.g., self-efficacy) that have been used successfully to understand programming education. Towards measuring metacognition and self-regulation in learners, we discuss seven instruments and protocols that have been used and highlight their strengths and weaknesses. To benchmark the current state of research, we examined papers that primarily studied metacognition and self-regulation in programming education and synthesize the reported interventions used and results from that research. While the primary intended contribution of this paper is to support research, readers will also learn about developing and supporting metacognition and self-regulation of students in programming courses. James Prather, Brett A. Becker, Michelle Craig, Paul Denny 0001, Dastyni Loksa, Lauren E. Margulieux |
ICER | 1 |
| 2020 | Error Message Readability and Novice Debugging PerformanceabstractIt is well known that programming error messages can be notoriously difficult for novices to understand, hampering progress and leading to frustration. In response, researchers have explored various approaches for enhancing such messages, yet results from this active strand of research are currently mixed. Direct comparisons of results between studies is challenging as these typically investigate different kinds of message enhancements and report results using different metrics. In addition, many prior studies have involved code writing tasks. In such cases, not all students encounter the same errors and messages, and it is difficult to isolate the time spent interpreting messages and resolving errors from the time spent writing code. In this research, we explore the effects of presenting novices with compiler error messages designed using the most recent collection of published guidelines - specifically, more easily readable, short, positive messages containing resolution hints. To accurately determine the time and effort required to read and respond to the messages, we utilise a debugging task where all students are presented the same code and therefore encounter the same errors. We present results of a randomised controlled experiment (n > 700) which shows that, compared to standard error messages, the messages we tested resulted in significantly shorter debugging times and higher self-reported scores of message usefulness for students in the very early stages of learning a new language. Paul Denny 0001, James Prather, Brett A. Becker |
ITiCSE | 2 |
| 2019 | Unexpected Tokens: A Review of Programming Error Messages and Design Guidelines for the FutureabstractDiagnostic messages generated by compilers and interpreters such as syntax error messages have been researched for decades. Unfortunately these messages which include error, warning, and runtime messages, present substantial difficulty and could be more effective, particularly for novices. Recent years have seen increased number of papers in the area including studies on the effectiveness of these messages, improving or enhancing them, and their usefulness as a part of programming process data that can be used to predict student performance. Despite this increased interest, the long history of literature is quite scattered and has not been brought together in any digestible form. We argue that in order to help the community proceed with more work on diagnostic messages, the literature needs to be presented in a state-of-the-art report. In addition we will synthesize and present the existing evidence for these messages including the difficulties they present and their effectiveness. We will also formulate a set of guidelines based on this evidence that can be used when designing or enhancing diagnostic messages. This work can serve as a starting point for those who wish to conduct research on such messages, those who wish to design better messages or those that aim to measure their effectiveness, more effectively. Brett A. Becker, Paul Denny 0001, Raymond Pettit, Durell Bouchard, Dennis J. Bouvier, Brian Harrington 0001, Amir Kamil, Amey Karkare, Chris McDonald, Peter-Michael Osera, Janice L. Pearce, James Prather |
ITiCSE | 12 |
| 2019 | First Things First: Providing Metacognitive Scaffolding for Interpreting Problem PromptsabstractWhen solving programming problems, novices are often not aware of where they are in the problem-solving process. For instance, students who misinterpret the problem prompt will most likely not form a valid conceptual model of the task and fail to make progress towards a working solution. Avoiding such errors, and recovering from them once they occur, requires metacognitive skills that enable students to reflect on their problem-solving processes. For these reasons, developing metacognitive awareness is crucially important for novice students. Previous research has shown that explicitly teaching key steps of programming problem-solving, and having students reflect on where they are in the problem-solving process, can help students complete future programming assignments. Such metacognitive awareness training can be done through personal tutoring, but can be difficult to implement without a high ratio of instructors to students. We explore a more scalable approach, making use of an automated assessment tool, and conduct a controlled experiment to see whether scaffolding the problem-solving process would increase metacognitive awareness and improve student performance. We collected all code submissions by students in both control and experimental groups, as well as data from direct observation using a think-aloud protocol. We found that students who received the intervention showed a higher degree of understanding of the problem prompt and were more likely to complete the programming task successfully. James Prather, Raymond Pettit, Brett A. Becker, Paul Denny 0001, Dastyni Loksa, Alani L. Peters, Zachary Albrecht, Krista Masci |
SIGCSE | 1 |
| 2018 | Metacognitive Difficulties Faced by Novice Programmers in Automated Assessment ToolsabstractMost novice programmers are not explicitly aware of the problem-solving process used to approach programming problems and cannot articulate to an instructor where they are in that process. Many are now arguing that this skill, called metacognitive awareness, is crucial for novice learning. However, novices frequently learn in university CS1 courses that employ automated assessment tools (AATs), which are not typically designed to provide the cognitive scaffolding necessary for novices to develop metacognitive awareness. This paper reports on an experiment designed to understand what difficulties novice programmers currently face when learning to code with an AAT. We describe the experiences of CS1 students who participated in a think-aloud study where they were observed solving a programming problem with an AAT. Our observations show that some students mentally augmented the tool when it did not explicitly support their metacognitive awareness, while others stumbled due to the tool's lack of such support. We use these observations to formulate difficulties faced by novices that lack metacognitive awareness, compare these results to other related studies, and look toward future work in modifying AATs. James Prather, Raymond Pettit, Kayla Holcomb McMurry, Alani L. Peters, John Homer, Maxine S. Cohen |
ICER | 1 |
| 2017 | On Novices' Interaction with Compiler Error Messages: A Human Factors ApproachabstractThe difficulty in understanding compiler error messages can be a major impediment to novice student learning. To alleviate this issue, multiple researchers have run experiments enhancing compiler error messages in automated assessment tools for programming assignments. The conclusions reached by these published experiments appear to be conducting. We examine these experiments and propose five potential reasons for the inconsistent conclusions concerning enhanced compiler error messages: (1) students do not read them, (2) researchers are measuring the wrong thing, (3) the effects are hard to measure, (4) the messages are not properly designed, (5) the messages are properly designed, but students do not understand them in context due to increased cognitive load. We constructed mixed-methods experiments designed to address reasons 1 and 5 with a specific automated assessment tool, Athene, that previously reported inconclusive results. Testing student comprehension of the enhanced compiler error messages outside the context of an automated assessment tool demonstrated their effectiveness over standard compiler error messages. Quantitative results from a 60 minute one-on-one think-aloud study with 31 students did not show substantial increase in student learning outcomes over the control. However, qualitative results from the one-on-one think-aloud study indicated that most students are reading the enhanced compiler error messages and generally make effective changes after encountering them. James Prather, Raymond Pettit, Kayla Holcomb McMurry, Alani L. Peters, John Homer, Nevan Simone, Maxine S. Cohen |
ICER | 1 |