English
Related papers

Related papers: Effects of Hints on Debugging Scratch Programs: An…

200 papers

Deep Learning has revolutionized machine learning and artificial intelligence, achieving superhuman performance in several standard benchmarks. It is well-known that deep learning models are inefficient to train; they learn by processing…

Machine Learning · Computer Science 2021-12-03 Fartash Faghri

We describe a method of automatic feedback provision for students learning programming and computational methods in Python. We have implemented, used and refined this system since 2009 for growing student numbers, and summarise the design…

Computers and Society · Computer Science 2015-09-14 Hans Fangohr , Neil O'Brien , Anil Prabhakar , Arti Kashyap

In programming education, Debugging and Teaching (DT) task is a common scenario where students receive assistance in correcting their erroneous code. The task involves multiple inputs, including erroneous code, error messages, reference…

Software Engineering · Computer Science 2025-10-14 Lingyue Fu , Haowei Yuan , Datong Chen , Xinyi Dai , Qingyao Li , Weinan Zhang , Weiwen Liu , Yong Yu

The use of automatic grading tools has become nearly ubiquitous in large undergraduate programming courses, and recent work has focused on improving the quality of automatically generated feedback. However, there is a relative lack of data…

Human-Computer Interaction · Computer Science 2020-11-24 Abe Leite , Saúl A. Blanco

Bug reports are common artefacts in software development. They serve as the main channel for users to communicate to developers information about the issues that they encounter when using released versions of software programs. In the…

Software Engineering · Computer Science 2021-12-21 Arthur D. Sawadogo , Quentin Guimard , Tegawendé F. Bissyandé , Abdoul Kader Kaboré , Jacques Klein , Naouel Moha

Programs are a kind of communication to both computers and people, hence as students are trained to write programs they need to learn to write well-designed, readable code rather than code that simply functions correctly. The difficulty in…

Computers and Society · Computer Science 2022-11-08 J. Walker Orr

Static bug finders have been widely-adopted by developers to find bugs in real world software projects. They leverage predefined heuristic static analysis rules to scan source code or binary code of a software project, and report violations…

Software Engineering · Computer Science 2021-12-24 Junjie Wang , Yuchao Huang , Song Wang , Qing Wang

When employing the Socratic method of teaching, instructors guide students toward solving a problem on their own rather than providing the solution directly. While this strategy can substantially improve learning outcomes, it is usually…

Computation and Language · Computer Science 2023-10-06 Erfan Al-Hossami , Razvan Bunescu , Justin Smith , Ryan Teehan

Large Language Models (LLMs) now excel at generative skills and can create content at impeccable speeds. However, they are imperfect and still make various mistakes. In a Computer Science education context, as these models are widely…

Human-Computer Interaction · Computer Science 2024-10-11 Qianou Ma , Hua Shen , Kenneth Koedinger , Tongshuang Wu

Debugging hardware designs requires significant manual effort during hardware development. After engineers identify a bug-triggering test case in simulation-based hardware verification, they usually spend considerable time analyzing the…

Hardware Architecture · Computer Science 2025-08-21 Ruiyang Ma , Daikang Kuang , Ziqian Liu , Jiaxi Zhang , Ping Fan , Guojie Luo

The validation process for microprocessors is a very complex task that consumes substantial engineering time during the design process. Bugs that degrade overall system performance, without affecting its functional correctness, are…

Hardware Architecture · Computer Science 2023-03-28 Erick Carvajal Barboza , Mahesh Ketkar , Michael Kishinevsky , Paul Gratz , Jiang Hu

Background: Programming is a fundamental skill in computer science and software engineering specifically. Mastering it is a challenge for novices, which is evidenced by numerous errors that students make during programming assignments.…

Software Engineering · Computer Science 2025-02-21 Nadja Just , Janet Siegmund , Belinda Schantong

Context: Static analysis captures software engineering knowledge and alerts on possibly problematic patterns. Previous work showed that they indeed have predictive power for various problems. However, the impact of removing the alerts is…

Software Engineering · Computer Science 2026-03-24 Idan Amit

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

AI-based chatbots have the potential to accelerate learning and teaching, but may also have counterproductive consequences without thoughtful design and scaffolding. To better understand teachers' perspectives on large language model…

Deductive domains are typical of many cognitive skills in that no single problem-solving strategy is always optimal for solving all problems. It was shown that students who know how and when to use each strategy (StrTime) outperformed those…

Human-Computer Interaction · Computer Science 2023-03-22 Mark Abdelshiheed , John Wesley Hostetter , Preya Shabrina , Tiffany Barnes , Min Chi

Data-driven programming feedback systems can help novices to program in the absence of a human tutor. Prior evaluations showed that these systems improve learning in terms of test scores, or task completion efficiency. However, crucial…

Computers and Society · Computer Science 2022-08-11 Preya Shabrina , Samiha Marwan , Andrew Bennison , Min Chi , Thomas Price , Tiffany Barnes

Advancements in Large Language Models (LLMs), such as ChatGPT, offer significant opportunities to enhance instructional support in introductory programming courses. While extensive research has explored the effectiveness of LLMs in…

Human-Computer Interaction · Computer Science 2025-05-09 Muntasir Hoq , Jessica Vandenberg , Shuyin Jiao , Seung Lee , Bradford Mott , Narges Norouzi , James Lester , Bita Akram

It is natural to suppose that a Large Language Model is more likely to generate correct test cases when prompted with correct code under test, compared to incorrect code under test. However, the size of this effect has never been previously…

Software Engineering · Computer Science 2025-03-31 Dong Huang , Jie M. Zhang , Mark Harman , Mingzhe Du , Heming Cui

Intrinsic bugs are bugs for which a bug introducing change can be identified in the version control system of a software. In contrast, extrinsic bugs are caused by external changes to a software, such as errors in external APIs; thereby…

Software Engineering · Computer Science 2021-03-30 Gema Rodriguez-Perez , Meiyappan Nagappan , Gregorio Robles