English
Related papers

Related papers: From Bugs to Breakthroughs: Novice Errors in CS2

200 papers

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…

Software Engineering · Computer Science 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…

Computers and Society · Computer Science 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…

Computers and Society · Computer Science 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…

Software Engineering · Computer Science 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…

Computers and Society · Computer Science 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…

Software Engineering · Computer Science 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…

Software Engineering · Computer Science 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…

Software Engineering · Computer Science 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…

Programming Languages · Computer Science 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…

Software Engineering · Computer Science 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…

History and Overview · Mathematics 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…

Software Engineering · Computer Science 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…

Software Engineering · Computer Science 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…

Computers and Society · Computer Science 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…

History and Overview · Mathematics 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…

Computers and Society · 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…

Software Engineering · Computer Science 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…

Software Engineering · Computer Science 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…

Programming Languages · Computer Science 2018-05-15 Jeremy Singer , Blair Archibald
‹ Prev 1 3 4 5 6 7 10 Next ›