English
Related papers

Related papers: Anti-patterns in Students' Conditional Statements

200 papers

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

Teaching the software engineers of the future to write high-quality code with good style and structure is important. This systematic literature review identifies existing instructional approaches, their objectives, and the strategies used…

Software Engineering · Computer Science 2025-02-26 Sara Nurollahian , Hieke Keuning , Eliane Wiese

Static analysis tools are frequently used to scan the source code and detect deviations from the project coding guidelines. Given their importance, linters are often introduced to classrooms to educate students on how to detect and…

Software Engineering · Computer Science 2023-07-20 Eman Abdullah AlOmar , Salma Abdullah AlOmar , Mohamed Wiem Mkaouer

We conducted a systematic literature review on automated grading and feedback tools for programming education. We analysed 121 research papers from 2017 to 2021 inclusive and categorised them based on skills assessed, approach, language…

Software Engineering · Computer Science 2023-12-11 Marcus Messer , Neil C. C. Brown , Michael Kölling , Miaojing Shi

Generative AI tools, such as AI-generated hints, are increasingly integrated into programming education to offer timely, personalized support. However, little is known about how to effectively leverage these hints while ensuring autonomous…

Computers and Society · Computer Science 2025-12-05 Heeryung Choi , Tung Phung , Mengyan Wu , Adish Singla , Christopher Brooks

AI coding assistants have become prolific in recent years. Through a longitudinal mixed-methods investigation, we examined how professional software engineers perceive the effects of AI coding assistants in regard to task focus, developer…

Software Engineering · Computer Science 2026-05-25 Annie Vella , Kelly Blincoe

Code-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…

Human-Computer Interaction · Computer Science 2026-04-21 Nicholas Gardella , James Prather , Juho Leinonen , Paul Denny , Raymond Pettit , Sara L. Riggs

The software engineering community recently has witnessed widespread deployment of AI programming assistants, such as GitHub Copilot. However, in practice, developers do not accept AI programming assistants' initial suggestions at a high…

Software Engineering · Computer Science 2023-09-19 Jenny T. Liang , Chenyang Yang , Brad A. Myers

AI-powered coding assistants can support students in programming courses by providing on-demand explanations and debugging help. However, existing research often focuses on individual tools, leaving a gap in evidence-based design…

Human-Computer Interaction · Computer Science 2026-03-25 Boxuan Ma , Yinjie Xie , Huiyong Li , Gen Li , Li Chen , Atsushi Shimada , Shin'Ichi Konomi

AI-powered coding assistant tools have revolutionized the software engineering ecosystem. However, prior work has demonstrated that these tools are vulnerable to poisoning attacks. In a poisoning attack, an attacker intentionally injects…

Cryptography and Security · Computer Science 2023-12-12 Sanghak Oh , Kiho Lee , Seonhye Park , Doowon Kim , Hyoungshick Kim

Modern programming languages, such as Java and C#, typically provide features that handle exceptions. These features separate error-handling code from regular source code and are proven to enhance the practice of software reliability,…

Software Engineering · Computer Science 2017-04-05 Guilherme B. de Pádua , Weiyi Shang

We asked students to explain the structure and execution of their small programs after they had submitted them to a programming exercise. These questions about learner's code (QLCs) were delivered at three occasions in an online and open…

Computers and Society · Computer Science 2021-07-06 Teemu Lehtinen , Aleksi Lukkarinen , Lassi Haaranen

As programmers write code, they often edit and retry multiple times, creating rich "interaction traces" that reveal how they approach coding tasks and provide clues about their level of skill development. For novice programmers in…

Machine Learning · Computer Science 2026-04-16 Alexis Ross , Megha Srivastava , Jeremiah Blanchard , Jacob Andreas

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

We witness an increasing usage of AI-assistants even for routine (classroom) programming tasks. However, the code generated on basis of a so called "prompt" by the programmer does not always meet accepted security standards. On the one…

Software Engineering · Computer Science 2024-08-15 Stefan Goetz , Andreas Schaad

Plagiarism in programming courses remains a persistent challenge, especially in competitive programming contexts where assignments often have unique, known solutions. This paper examines why traditional code plagiarism detection methods…

Computers and Society · Computer Science 2025-05-14 Ethan Dickey

High-quality computer science education is limited by the difficulty of providing instructor feedback to students at scale. While this feedback could in principle be automated, supervised approaches to predicting the correct feedback are…

Computers and Society · Computer Science 2021-10-05 Mike Wu , Noah Goodman , Chris Piech , Chelsea Finn

Fault based testing is a technique in which test cases are chosen to reveal certain classes of faults. At present, testing professionals use their personal experience to select testing methods for fault classes considered the most likely to…

Software Engineering · Computer Science 2012-05-31 Shimul Kumar Nath , Robert Merkel , Man Fai Lau , Tanay Kanti Paul

Large Language Models (LLMs) are gaining popularity among software engineers. A crucial aspect of developing effective code generation LLMs is to evaluate these models using a robust benchmark. Evaluation benchmarks with quality issues can…

Software Engineering · Computer Science 2024-09-05 Mohammed Latif Siddiq , Simantika Dristi , Joy Saha , Joanna C. S. Santos

Plagiarism in introductory programming courses is an enormous challenge for both students and institutions. For students, relying on the work of others too early in their academic development can make it impossible to acquire necessary…

Computers and Society · Computer Science 2022-06-08 Simon J. Cohen , Michael J. Martin , Chance A. Shipley , Abhishek Kumar , Andrew R. Cohen