English
Related papers

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

200 papers

The importance of innovation in the world's economy, now undeniable, draws great attention to the need to improve organizations' creative potential. In the last 60 years, hundreds of books have been written on the subject and hundreds of…

Computers and Society · Computer Science 2016-11-17 Sophie Morin , Jean-Marc Robert , Liane Gabora

In order to solve today's complex problems in the world of software development, technical knowledge is no longer enough. Previous studies investigating and identifying non-technical skills of software engineers show that creative skills…

Software Engineering · Computer Science 2021-01-05 Wouter Groeneveld , Laurens Luyten , Joost Vennekens , Kris Aerts

Context: To effectively defend against ever-evolving cybersecurity threats, software systems should be made as secure as possible. To achieve this, software developers should understand potential vulnerabilities and apply secure coding…

Programming Languages · Computer Science 2024-07-11 Alina Torbunova , Adnan Ashraf , Ivan Porres

Software developers use metrics to evaluate code quality and productivity, but these practices are still rare in programming education. This project bridges the gap by collecting real-time learning analytics from individual student and…

For the past six years, researchers in genetic programming and other program synthesis disciplines have used the General Program Synthesis Benchmark Suite to benchmark many aspects of automatic program synthesis systems. These problems have…

Software Engineering · Computer Science 2021-06-14 Thomas Helmuth , Peter Kelly

Novice programmers benefit from timely, personalized support that addresses individual learning gaps, yet the availability of instructors and teaching assistants is inherently limited. Large language models (LLMs) present opportunities to…

Computers and Society · Computer Science 2025-10-07 Griffin Pitts , Anurata Prabha Hridi , Arun-Balajiee Lekshmi-Narayanan

Block-based visual programming environments are increasingly used to introduce computing concepts to beginners. Given that programming tasks are open-ended and conceptual, novice students often struggle when learning in these environments.…

Artificial Intelligence · Computer Science 2023-03-30 Adish Singla , Nikitas Theodoropoulos

In this paper we describe our experience in developing curriculum courses aimed at graduate students in emerging computational fields, including biology and medical science. We focus primarily on computational data analysis and statistical…

Computers and Society · Computer Science 2019-01-18 Marcelo Ponce , Erik Spence , Ramses van Zon , Daniel Gruner

Software, while beneficial, poses potential cybersecurity risks due to inherent vulnerabilities. Detecting these vulnerabilities is crucial, and deep learning has shown promise as an effective tool for this task due to its ability to…

Software Engineering · Computer Science 2024-01-17 Imam Nur Bani Yusuf , Lingxiao Jiang

Deep learning (DL) techniques have achieved significant success in various software engineering tasks (e.g., code completion by Copilot). However, DL systems are prone to bugs from many sources, including training data. Existing literature…

Software Engineering · Computer Science 2025-08-12 Mehil B Shah , Mohammad Masudur Rahman , Foutse Khomh

In large programming classes, it takes a significant effort from teachers to evaluate exercises and provide detailed feedback. In systems programming, test cases are not sufficient to assess exercises, since concurrency and resource…

Computers and Society · Computer Science 2024-11-07 Roberto Natella

We present a new method for automatically providing feedback for introductory programming problems. In order to use this method, we need a reference implementation of the assignment, and an error model consisting of potential corrections to…

Programming Languages · Computer Science 2012-11-19 Rishabh Singh , Sumit Gulwani , Armando Solar-Lezama

Code corpora, as observed in large software systems, are now known to be far more repetitive and predictable than natural language corpora. But why? Does the difference simply arise from the syntactic limitations of programming languages?…

Computation and Language · Computer Science 2018-06-08 Casey Casalnuovo , Kenji Sagae , Prem Devanbu

This paper presents the results of a research study related to software system failures, with the goal of understanding how we might better evolve, maintain and support software systems in production. We have qualitatively analyzed thirty…

Software Engineering · Computer Science 2020-08-26 Jonathan Sillito , Esdras Kutomi

Understanding how software defects manifest and evolve in production environments is critical for improving reliability. While previous research has largely focused on pre-release defects, the nature of residual faults, i.e., those escaping…

Software Engineering · Computer Science 2026-04-30 Domenico Cotroneo , Giuseppe De Rosa , Cristina Improta , Benedetta Gaia Varriale

Involving integrated development environments (IDEs) in introductory-level (CS1) programming courses is critical. However, it is difficult for instructors to find a suitable IDE that is beginner friendly and supports strong functionality.…

Human-Computer Interaction · Computer Science 2023-03-21 Jialiang Tan , Yu Chen , Shuyin Jiao

The sudden emergence of large language models (LLMs) such as ChatGPT has had a disruptive impact throughout the computing education community. LLMs have been shown to excel at producing correct code to CS1 and CS2 problems, and can even act…

Artificial Intelligence · Computer Science 2024-09-30 Eddie Antonio Santos , Brett A. Becker

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

Due to the vast number of students enrolled in Massive Open Online Courses (MOOCs), there has been an increasing number of automated program repair techniques focused on introductory programming assignments (IPAs). Such techniques take…

Software Engineering · Computer Science 2022-06-20 Pedro Orvalho , Mikoláš Janota , Vasco Manquinho

Code language models have emerged as useful tools for various programming tasks, yet they often struggle when it comes to complex ones. In this paper, we explore the potential of curriculum learning in enhancing the performance of these…

Machine Learning · Computer Science 2024-07-16 Marwa Naïr , Kamel Yamani , Lynda Said Lhadj , Riyadh Baghdadi