中文
相关论文

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

200 篇论文

Answer Set Programming (ASP), a modern development of Logic Programming, enables a natural integration of Computing with STEM subjects. This integration addresses a widely acknowledged challenge in K-12 education, and early empirical…

计算机与社会 · 计算机科学 2022-08-08 Zach Hansen , Hanxiang Du , Wanli Xing , Rory Eckel , Justin Lugo , Yuanlin Zhang

Software Engineering as an industry is highly diverse in terms of development methods and practices. Practitioners employ a myriad of methods and tend to further tailor them by e.g. omitting some practices or rules. This diversity in…

软件工程 · 计算机科学 2018-09-25 Kai-Kristian Kemell , Anh Nguyen-Duc , Xiaofeng Wang , Juhanki Risku , Pekka Abrahamsson

Program decomposition is essential for developing maintainable and efficient software, yet it remains a challenging skill to teach and learn in introductory programming courses. What does program decomposition for procedural CS1 programs…

软件工程 · 计算机科学 2024-11-19 Georgiana Haldeman , Judah Robbins Bernal , Alec Wydra , Paul Denny

Novice programmers often struggle through programming problem solving due to a lack of metacognitive awareness and strategies. Previous research has shown that novices can encounter multiple metacognitive difficulties while programming.…

In the challenging field of introductory programming, high enrollments and failure rates drive us to explore tools and systems to enhance student outcomes, especially automated tools that scale to large cohorts. This paper presents and…

软件工程 · 计算机科学 2023-10-17 Andrew Taylor , Alexandra Vassar , Jake Renzella , Hammond Pearce

To broaden participation, competitive programming contests may include beginner-level problems that do not require knowledge of advanced Computer Science concepts (e.g., algorithms and data structures). However, since most participants have…

计算机与社会 · 计算机科学 2024-05-27 Mrigank Pawagi , Viraj Kumar

A substantial fraction of the time that computational modellers dedicate to developing their models is actually spent trouble-shooting and debugging their code. However, how this process unfolds is seldom spoken about, maybe because it is…

计算工程、金融与科学 · 计算机科学 2022-11-04 Ester Comellas , Jean-Paul Pelteret , Wolfgang Bangerth

Programming is about automation in a wide variety of domains. Developing itself is one of those. As a side-effect, progress in automated coding may make people less willing to learn computer programming. This could become an issue, if the…

编程语言 · 计算机科学 2026-05-01 Attila Egri-Nagy

The recent, widespread availability of Large Language Models (LLMs) like ChatGPT and GitHub Copilot may impact introductory programming courses (CS1) both in terms of what should be taught and how to teach it. Indeed, recent research has…

Open-ended programming increases students' motivation by allowing them to solve authentic problems and connect programming to their own interests. However, such open-ended projects are also challenging, as they often encourage students to…

One source of software project challenges and failures is the systematic errors introduced by human cognitive biases. Although extensively explored in cognitive psychology, investigations concerning cognitive biases have only recently…

软件工程 · 计算机科学 2022-03-22 Rahul Mohanani , Iflaah Salman , Burak Turhan , Pilar Rodriguez , Paul Ralph

When teaching Programming and Software Engineering in Bachelor's Degree programs, the emphasis on creating functional software projects often overshadows the focus on software quality, a trend that aligns with ACM curricula recommendations.…

Immediate feedback has been shown to improve student learning. In programming courses, immediate, automated feedback is typically provided in the form of pre-defined test cases run by a submission platform. While these are excellent for…

The widespread establishment of computational thinking in school curricula requires teachers to introduce children to programming already at primary school level. As this is a recent development, primary school teachers may neither be…

计算机与社会 · 计算机科学 2021-11-04 Luisa Greifenstein , Isabella Graßl , Gordon Fraser

There are countless reasons cited in scientific studies to explain the difficulties in programming learning. The reasons range from the subject's complexity, the ineffective teaching and study methods, to psychological aspects such as…

计算机与社会 · 计算机科学 2020-06-26 Alberto Simões , Ricardo Queirós

Vector programming is an important topic in many Introduction to Computer Science courses. Despite the importance of vectors, learning vector programming is a source of frustration for many students. Much of the frustration is rooted in…

数据结构与算法 · 计算机科学 2019-06-28 Marco T. Morazán

This study investigated the essential of meaningful automated feedback for programming assignments. Three different types of feedback were tested, including (a) What's wrong - what test cases were testing and which failed, (b) Gap -…

人机交互 · 计算机科学 2019-10-09 Qiang Hao , Jack P Wilson , Camille Ottaway , Naitra Iriumi , Kai Arakawa , David H Smith

The growing number of students enrolling in Computer Science (CS) programmes is pushing CS educators to their limits. This poses significant challenges to computing education, particularly the teaching of introductory programming and…

软件工程 · 计算机科学 2024-12-19 Zhiyu Fan , Yannic Noller , Ashish Dandekar , Abhik Roychoudhury

Large Language Models (LLMs), such as GitHub Copilot and ChatGPT have become popular among programming students. Students use LLMs to assist them in programming courses, including generating source code. Previous work has evaluated the…

人工智能 · 计算机科学 2025-04-22 Emir Catir , Robin Claesson , Rodothea Myrsini Tsoupidi

Failure studies are important in revealing the root causes, behaviors, and life cycle of defects in software systems. These studies either focus on understanding the characteristics of defects in specific classes of systems or the…

软件工程 · 计算机科学 2022-09-23 Paschal C. Amusuo , Aishwarya Sharma , Siddharth R. Rao , Abbey Vincent , James C. Davis