English
Related papers

Related papers: An Inquisitive Code Editor for Addressing Novice P…

200 papers

Be it in debugging, testing, code review or, more recently, pair programming with AI assistance: in all these activities, software engineers need to understand source code. Accordingly, plenty of research is taking place in the field to…

Software Engineering · Computer Science 2023-10-18 Marvin Wyrich

Novice programmers often struggle with problem solving due to the high cognitive loads they face. Furthermore, many introductory programming courses do not explicitly teach it, assuming that problem solving skills are acquired along the…

Computers and Society · Computer Science 2022-01-19 Oka Kurniawan , Cyrille Jégourel , Norman Tiong Seng Lee , Matthieu De Mari , Christopher M. Poskitt

We propose novel evaluations for mathematical reasoning capabilities of Large Language Models (LLMs) based on mathematical misconceptions. Our primary approach is to simulate LLMs as a novice learner and an expert tutor, aiming to identify…

Computation and Language · Computer Science 2023-10-05 Naiming Liu , Shashank Sonkar , Zichao Wang , Simon Woodhead , Richard G. Baraniuk

AI code generators like OpenAI Codex have the potential to assist novice programmers by generating code from natural language descriptions, however, over-reliance might negatively impact learning and retention. To explore the implications…

Human-Computer Interaction · Computer Science 2023-02-22 Majeed Kazemitabaar , Justin Chow , Carl Ka To Ma , Barbara J. Ericson , David Weintrop , Tovi Grossman

Understanding students' misconceptions is important for effective teaching and assessment. However, discovering such misconceptions manually can be time-consuming and laborious. Automated misconception discovery can address these challenges…

Machine Learning · Computer Science 2021-03-09 Yang Shi , Krupal Shah , Wengran Wang , Samiha Marwan , Poorvaja Penmetsa , Thomas W. Price

Debugging is a fundamental skill that novice programmers must develop. Numerous tools have been created to assist novice programmers in this process. Recently, large language models (LLMs) have been integrated with automated program repair…

Software Engineering · Computer Science 2025-11-10 Oka Kurniawan , Erick Chandra , Christopher M. Poskitt , Yannic Noller , Kenny Tsu Wei Choo , Cyrille Jegourel

Large language models (LLMs) are being increasingly adopted for programming work. Prior work shows that while LLMs accelerate task completion for professional programmers, beginning programmers struggle to prompt models effectively.…

Software Engineering · Computer Science 2025-04-29 Yangtian Zi , Luisa Li , Arjun Guha , Carolyn Jane Anderson , Molly Q Feldman

Students sometimes produce code that works but that its author does not comprehend. For example, a student may apply a poorly-understood code template, stumble upon a working solution through trial and error, or plagiarize. Similarly,…

Computers and Society · Computer Science 2021-07-06 Teemu Lehtinen , André L. Santos , Juha Sorva

Reading, understanding and explaining code have traditionally been important skills for novices learning programming. As large language models (LLMs) become prevalent, these foundational skills are more important than ever given the…

Human-Computer Interaction · Computer Science 2024-03-12 Paul Denny , David H. Smith , Max Fowler , James Prather , Brett A. Becker , Juho Leinonen

Many students in introductory programming courses fare poorly in the code writing tasks of the final summative assessment. Such tasks are designed to assess whether novices have developed the analytical skills to translate from the given…

Software Engineering · Computer Science 2024-04-04 Shruthi Ravikumar , Margaret Hamilton , Charles Thevathayan , Maria Spichkova , Kashif Ali , Gayan Wijesinghe

Integrated development environments (IDE) play an important role in supporting developers during program comprehension and completion. Many of these supportive features focus on low-level programming and debugging activities. Unfortunately,…

Software Engineering · Computer Science 2021-05-20 Ali Shokri , Mehdi Mirakhorli

Effective software testing is critical for producing reliable and secure software, yet many computer science students struggle to master the foundational concepts required to construct comprehensive test suites. While automated feedback…

Software Engineering · Computer Science 2025-10-02 Shiza Andleeb , Teo Mendoza , Lucas Cordova , Gursimran Walia , Jeffrey C. Carver

Introductory programming courses often emphasize mastering syntax and basic constructs before progressing to more complex and interesting programs. This bottom-up approach can be frustrating for novices, shifting the focus away from problem…

Computers and Society · Computer Science 2024-10-07 Chris Kerslake , Paul Denny , David H Smith , James Prather , Juho Leinonen , Andrew Luxton-Reilly , Stephen MacNeil

Compilers can specialize programs having invariants for performance improvement. Detecting program invariants that span large and complex code, however, is difficult for compilers. Traditional compilers do not perform very expensive…

Programming Languages · Computer Science 2019-07-01 Wei He

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…

Human-Computer Interaction · Computer Science 2022-12-05 Brett A. Becker , Paul Denny , James Finnie-Ansley , Andrew Luxton-Reilly , James Prather , Eddie Antonio Santos

As the world of technology advances, so do the tools that software developers use to create new programs. In recent years, software development tools have become more popular, allowing developers to work more efficiently and produce…

Software Engineering · Computer Science 2025-09-03 Larissa Salerno , Christoph Treude , Patanamon Thongtatunam

Programming problems can be solved in a multitude of functionally correct ways, but the quality of these solutions (e.g. readability, maintainability) can vary immensely. When code quality is poor, symptoms emerge in the form of 'code…

Software Engineering · Computer Science 2024-03-11 Ivan Tan , Christopher M. Poskitt

Understanding code represents a core ability needed for automating software development tasks. While foundation models like LLMs show impressive results across many software engineering challenges, the extent of their true semantic…

Software Engineering · Computer Science 2025-04-16 Serge Lionel Nikiema , Jordan Samhi , Abdoul Kader Kaboré , Jacques Klein , Tegawendé F. Bissyandé

A type debugger interactively detects the expressions that cause type errors. It asks users whether they intend the types of identifiers to be those that the compiler inferred. However, it seems that novice programmers often get in trouble…

Programming Languages · Computer Science 2014-12-17 Yuki Ishii , Kenichi Asai

Introductory Computer Science classes are important for laying the foundation for advanced programming courses. However, students without prior programming experience may find these courses challenging, leading to difficulties in…

Computers and Society · Computer Science 2025-06-24 Jesse McDonald , Scott Robertson , Anthony Peruma