English
Related papers

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

200 papers

Introductory programming courses often emphasize mastering syntax and basic constructs before progressing to more complex and interesting programs. This bottom-up approach can be frustrating for novices, shifting the focus away from problem…

Computers and Society · Computer Science 2024-10-07 Chris Kerslake , Paul Denny , David H Smith , James Prather , Juho Leinonen , Andrew Luxton-Reilly , Stephen MacNeil

Design skills are increasingly recognized as a core competency for software professionals. Unfortunately, these skills are difficult to teach because design requires freedom and open-ended thinking, but new designers require a structured…

Computers and Society · Computer Science 2024-10-17 Christopher William Schankula , Habib Ghaffari Hadigheh , Spencer Smith , Christopher Kumar Anand

This study examines how AI code assistants shape novice programmers experiences during a two-part exam in an introductory programming course. In the first part, students completed a programming task with access to AI support; in the second,…

Emerging Technologies · Computer Science 2025-08-11 Sergio Rojas-Galeano , Julian Tejada , Fernando Marmolejo-Ramos

Static analysis is one of the most widely adopted techniques to find software bugs before code is put in production. Designing and implementing effective and efficient static analyses is difficult and requires high expertise, which results…

Software Engineering · Computer Science 2019-06-04 Andrew Habib , Michael Pradel

In Computer Science (CS) education, understanding factors contributing to students' programming difficulties is crucial for effective learning support. By identifying specific issues students face, educators can provide targeted assistance…

We gained insight into ideas and beliefs on testing of students who finished an introductory course on programming without any formal education on testing. We asked students to fill in a small survey, to do four exercises and to fill in a…

Computers and Society · Computer Science 2021-02-19 Lex Bijlsma , Niels Doorn , Harrie Passier , Harold Pootjes , Sylvia Stuurman

Novice programmers often struggle with problem solving due to the high cognitive loads they face. Furthermore, many introductory programming courses do not explicitly teach it, assuming that problem solving skills are acquired along the…

Computers and Society · Computer Science 2022-01-19 Oka Kurniawan , Cyrille Jégourel , Norman Tiong Seng Lee , Matthieu De Mari , Christopher M. Poskitt

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

Computer science educators seek to understand the types of mistakes that students make when learning a new (programming) language so that they can help students avoid those mistakes in the future. While educators know what mistakes students…

Software Engineering · Computer Science 2021-02-12 Kai Presler-Marshall , Sarah Heckman , Kathryn T. Stolee

Coding is a fundamental skill required in the engineering discipline, and much work exists exploring better ways of teaching coding in the higher education context. In particular, Code Snippets (CSs) are approved to be an effective way of…

Programming Languages · Computer Science 2025-06-03 Joshua Akingbade , Jianhua Yang , Mir Seyedebrahimi

Pseudocode is extensively used in introductory programming courses to instruct computer science students in algorithm design, utilizing natural language to define algorithmic behaviors. This learning approach enables students to convert…

Computers and Society · Computer Science 2024-10-30 Zhenyu Xu , Kun Zhang , Victor S. Sheng

Novice programmers often struggle with the formal syntax of programming languages. To assist them, we design a novel programming language correction framework amenable to reinforcement learning. The framework allows an agent to mimic human…

Artificial Intelligence · Computer Science 2018-02-01 Rahul Gupta , Aditya Kanade , Shirish Shevade

Introductory programming courses often rely on small code-writing exercises that have clearly specified problem statements. This limits opportunities for students to practice how to clarify ambiguous requirements -- a critical skill in…

Human-Computer Interaction · Computer Science 2025-04-17 Paul Denny , Viraj Kumar , Stephen MacNeil , James Prather , Juho Leinonen

Considerable effort in software research and practice is spent on bugs. Finding, reporting, tracking, triaging, attempting to fix them automatically, detecting "bug smells" -these comprise a substantial portion of large projects' time and…

Software Engineering · Computer Science 2024-02-14 David Gray Widder , Claire Le Goues

Generative AI models, specifically large language models (LLMs), have made strides towards the long-standing goal of text-to-code generation. This progress has invited numerous studies of user interaction. However, less is known about the…

Human-Computer Interaction · Computer Science 2024-07-09 Sydney Nguyen , Hannah McLean Babe , Yangtian Zi , Arjun Guha , Carolyn Jane Anderson , Molly Q Feldman

One of the important scaffolding tasks in programming learning is writing a line of code performing the necessary action. This allows students to practice skills in a playground with instant feedback before writing more complex programs and…

Computers and Society · Computer Science 2022-08-11 Oleg Sychev

Effective software testing is critical for producing reliable and secure software, yet many computer science students struggle to master the foundational concepts required to construct comprehensive test suites. While automated feedback…

Software Engineering · Computer Science 2025-10-02 Shiza Andleeb , Teo Mendoza , Lucas Cordova , Gursimran Walia , Jeffrey C. Carver

Many researchers have studied the behaviour of successful developers while debugging desktop software. In this paper, we investigate the embedded-software debugging by intermediate programmers through an exploratory study. The bugs are…

Software Engineering · Computer Science 2017-04-12 Pansy Arafa , Daniel Solomon , Samaneh Navabpour , Sebastian Fischmeister

The ubiquity of technology in our daily lives and the economic stability of the technology sector in recent years, especially in areas with a computer science footing, has led to an increase in computer science enrollment in many parts of…

Computers and Society · Computer Science 2014-05-13 Zubair Nabi

Understanding students' programming misconceptions is critical. Doing so depends on identifying the reasons why students make errors when learning a new programming language. Knowing the misconceptions can help students to improve their…