中文
相关论文

相关论文: From Bugs to Breakthroughs: Novice Errors in CS2

200 篇论文

Bug localization is a critical skill, yet novices often lack systematic approaches. Prior work tested abstract guidelines and general concrete steps; the impact of context-specific instruction is unclear. We ran an eight-week longitudinal…

软件工程 · 计算机科学 2025-09-29 Ziyi Zhang , Devjeet Roy , Venera Arnaoudova

Debugging, finding and fixing bugs in code, is a heterogeneous process that shapes novice learners' self-beliefs and motivation in computing. Our Debugging by Design intervention (DbD) provocatively puts students in control over bugs by…

计算机与社会 · 计算机科学 2023-05-05 Luis Morales-Navarro , Deborah A. Fields , Michael Giang , Yasmin B Kafai

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…

计算机与社会 · 计算机科学 2021-07-06 Teemu Lehtinen , Aleksi Lukkarinen , Lassi Haaranen

Understanding collaboration patterns in introductory programming courses is essential, as teamwork is a critical skill in computer science. In professional environments, software development relies on effective teamwork, navigating diverse…

软件工程 · 计算机科学 2024-10-29 Santiago Berrezueta-Guzman , Patrick Bassner , Stefan Wagner , Stephan Krusche

We evaluate an automatic hint generator for CS1 programming assignments powered by GPT-4, a large language model. This system provides natural language guidance about how students can improve their incorrect solutions to short programming…

计算机与社会 · 计算机科学 2024-06-11 Laryn Qi , J. D. Zamfirescu-Pereira , Taehan Kim , Björn Hartmann , John DeNero , Narges Norouzi

Computer science (CS) education needs to evolve to support software and artificial intelligence (AI) systems engineering, and it needs to happen now -- precisely because the core intellectual contributions of CS have never been more…

软件工程 · 计算机科学 2026-05-01 Chandra N. Sekharan , George K. Thiruvathukal

Context: Software systems are in continuous evolution through source code changes to fixing bugs, adding new functionalities and improving the internal architecture. All these practices are recorded in the version history, which can be…

软件工程 · 计算机科学 2020-01-17 Leandro Ungari Cayres , Bruno Santos de Lima , Rogério Eduardo Garcia

Novice programmers face numerous barriers while attempting to learn how to code that may deter them from pursuing a computer science degree or career in software development. In this work, we propose a tool concept to address the…

软件工程 · 计算机科学 2021-02-12 Austin Z. Henley , Julian Ball , Benjamin Klein , Aiden Rutter , Dylan Lee

Providing feedback on programming assignments manually is a tedious, error prone, and time-consuming task. In this paper, we motivate and address the problem of generating feedback on performance aspects in introductory programming…

编程语言 · 计算机科学 2014-09-18 Sumit Gulwani , Ivan Radiček , Florian Zuleger

Producing code of good quality is an essential skill in software development. Code quality is an aspect of software quality that concerns the directly observable properties of code, such as decomposition, modularization, and code flow. Code…

软件工程 · 计算机科学 2024-11-06 Eduardo Carneiro Oliveira , Hieke Keuning , Johan Jeuring

The words ``Programming is the second literacy'' were coined more than 40 years ago but never came to life. This paper is one in the series of papers aimed at the analysis of mathematical requirements for a merge of school mathematics with…

历史与综述 · 数学 2022-12-26 Alexandre Borovik , Vladimir Kondratiev

Background: Software modelling is a creative yet challenging task. Modellers often find themselves lost in the process, from understanding the modelling problem to solving it with proper modelling strategies and modelling tools. Students…

软件工程 · 计算机科学 2024-09-23 Shalini Chakraborty , Javier Troya , Lola Burgueño , Grischa Liebel

When learning to code, students often develop misconceptions about various programming language concepts. These can not only lead to bugs or inefficient code, but also slow down the learning of related concepts. In this paper, we introduce…

软件工程 · 计算机科学 2025-10-13 Erfan Al-Hossami , Razvan Bunescu

The development of data science expertise requires tacit, process-oriented skills that are difficult to teach directly. This study addresses the resulting challenge of empirically understanding how the problem-solving processes of experts…

计算机与社会 · 计算机科学 2026-02-18 Manuel Valle Torre , Marcus Specht , Catharine Oertel

Many undergraduate students of engineering and the exact sciences have difficulty with their mathematics courses due to insufficient proficiency in what we in this paper have termed clear thinking. We believe that this lack of proficiency…

历史与综述 · 数学 2017-09-06 Arieh Lev , Gil Kaplan

Problem decomposition--the ability to break down a large task into smaller, well-defined components--is a critical skill for effectively designing and creating large programs, but it is often not included in introductory computer science…

计算机与社会 · 计算机科学 2025-11-11 Samvrit Srinath , Annapurna Vadaparty , David H. Smith , Leo Porter , Daniel Zingaro

Learning-based techniques, especially advanced pre-trained models for code have demonstrated capabilities in code understanding and generation, solving diverse software engineering (SE) tasks. Despite the promising results, current training…

软件工程 · 计算机科学 2025-02-07 Kyi Shin Khant , Hong Yi Lin , Patanamon Thongtanunam

Deep learning has gained substantial popularity in recent years. Developers mainly rely on libraries and tools to add deep learning capabilities to their software. What kinds of bugs are frequently found in such software? What are the root…

软件工程 · 计算机科学 2019-06-05 Md Johirul Islam , Giang Nguyen , Rangeet Pan , Hridesh Rajan

With the growing processing power of computing systems and the increasing availability of massive datasets, machine learning algorithms have led to major breakthroughs in many different areas. This development has influenced computer…

What kinds of mistakes are made by novice Haskell developers, as they learn about functional programming? Is it possible to analyze these errors in order to improve the pedagogy of Haskell? In 2016, we delivered a massive open online course…

编程语言 · 计算机科学 2018-05-15 Jeremy Singer , Blair Archibald