English
Related papers

Related papers: Steps Before Syntax: Helping Novice Programmers So…

200 papers

When giving automated feedback to a student working on a beginner's exercise, many programming tutors run into a completeness problem. On the one hand, we want a student to experiment freely. On the other hand, we want a student to write…

Human-Computer Interaction · Computer Science 2020-11-17 Niek Mulleners , Johan Jeuring , Bastiaan Heeren

Pre-trained language models have demonstrated impressive performance in both natural language processing and program understanding, which represent the input as a token sequence without explicitly modeling its structure. Some prior works…

Computation and Language · Computer Science 2022-10-27 Da Shen , Xinyun Chen , Chenguang Wang , Koushik Sen , Dawn Song

We continuously interact with computerized systems to achieve goals and perform tasks in our personal and professional lives. Therefore, the ability to program such systems is a skill needed by everyone. Consequently, computational thinking…

Human-Computer Interaction · Computer Science 2021-12-07 Christopher Pyles , Francois van Schalkwyk , Gerard J. Gorman , Marijan Beg , Lee Stott , Nir Levy , Ran Gilad-Bachrach

End-user programmers create software to solve problems, yet the problem-solving knowledge generated in the process often remains tacit within the software artifact. One approach to exposing this knowledge is to enable the end-user to…

Software Engineering · Computer Science 2009-08-11 Matthew Dinmore

Computing students increasingly rely on generative AI tools for programming assistance, often without formal instruction or guidance. This highlights a need to teach students how to effectively interact with AI models, particularly through…

Computers and Society · Computer Science 2025-09-15 Victor-Alexandru Pădurean , Paul Denny , Alkis Gotovos , Adish Singla

Beginning programmers struggle with the complex grammar of modern programming languages like Java, and make lot of syntax errors. The diagnostic syntax error messages from compilers and IDEs are sometimes useful, but often the messages are…

Software Engineering · Computer Science 2022-10-14 Toufique Ahmed , Noah Rose Ledesma , Premkumar Devanbu

Large Language Models (LLMs) are revolutionizing the field of computing education with their powerful code-generating capabilities. Traditional pedagogical practices have focused on code writing tasks, but there is now a shift in importance…

Human-Computer Interaction · Computer Science 2023-11-13 Paul Denny , Juho Leinonen , James Prather , Andrew Luxton-Reilly , Thezyrie Amarouche , Brett A. Becker , Brent N. Reeves

Computer programming represents a rapidly evolving and sought-after career path in the 21st century. Nevertheless, novice learners may find the process intimidating for several reasons, such as limited and highly competitive career…

Human-Computer Interaction · Computer Science 2025-03-24 M. A. F. Aamina , V. Kavishcan , W. M. P. B. B. Jayaratne , K. K. D. S. N. Kannangara , A. A. Aamil , Achini Adikari

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

Understanding student difficulties in programming is a complex challenge due to the wide range of topics and the abundant varieties of misconceptions and errors. This paper presents the design and development of a fine-grained taxonomy that…

Computers and Society · Computer Science 2026-05-27 Dimitri Eckert , Christian Kautz

Discrete mathematics is the foundation of computer science. It focuses on concepts and reasoning methods that are studied using math notations. It has long been argued that discrete math is better taught with programming, which takes…

Computers and Society · Computer Science 2021-10-07 Yanhong A. Liu , Matthew Castelllana

Block-based programming environments are increasingly used to introduce computing concepts to beginners. However, novice students often struggle in these environments, given the conceptual and open-ended nature of programming tasks. To…

Artificial Intelligence · Computer Science 2023-03-30 Ahana Ghosh , Sebastian Tschiatschek , Sam Devlin , Adish Singla

Early detection of struggling student programmers is crucial for providing them with personalized support. While multiple AI-based approaches have been proposed for this problem, they do not explicitly reason about students' programming…

Computers and Society · Computer Science 2025-08-26 Noga Schwartz , Roy Fairstein , Avi Segal , Kobi Gal

In this work, we deal with the question of modeling programming exercises for novices pointing to an e-learning scenario. Our purpose is to identify basic requirements, raise some key questions and propose potential answers from a…

Artificial Intelligence · Computer Science 2009-03-13 Carlos Loria-Saenz

Program synthesis techniques construct or infer programs from user-provided specifications, such as input-output examples. Yet most specifications, especially those given by end-users, leave the synthesis problem radically ill-posed,…

Artificial Intelligence · Computer Science 2020-10-22 Yewen Pu , Kevin Ellis , Marta Kryven , Josh Tenenbaum , Armando Solar-Lezama

Newcomers to a software project must overcome many barriers before they can successfully place their first code contribution, and they often struggle to find information that is relevant to them. In this work, we argue that much of the…

Software Engineering · Computer Science 2024-04-30 Christoph Treude , Marco A. Gerosa , Igor Steinmacher

Programming is a craft which often demands that learners engage in a significantly high level of individual practice and experimentation in order to acquire basic competencies. However, practice behaviours can be undermined during the early…

Computers and Society · Computer Science 2013-11-05 Michael James Scott , Gheorghita Ghinea

Transitioning from block-based programming to text-based programming environments can be challenging as it requires students to learn new programming language concepts. In this paper, we identify and classify the issues encountered when…

Human-Computer Interaction · Computer Science 2023-02-14 Majeed Kazemitabaar , Viktar Chyhir , David Weintrop , Tovi Grossman

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

Testing is one of the most indispensable tasks in software engineering. The role of testing in software development has grown significantly because testing is able to reveal defects in the code in an early stage of development. Many unit…

Software Engineering · Computer Science 2010-12-07 Norbert Pataki