English
Related papers

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

200 papers

Background: The integration of artificial intelligence (AI) into daily life, particularly through chatbots utilizing natural language processing (NLP), presents both revolutionary potential and unique challenges. This intended to…

Computation and Language · Computer Science 2024-04-16 Gian Alexandre Michaelsen , Renato P. dos Santos

Context: Students often misunderstand programming problem descriptions. This can lead them to solve the wrong problem, which creates frustration, obstructs learning, and imperils grades. Researchers have found that students can be made to…

Software Engineering · Computer Science 2024-01-02 Siddhartha Prasad , Ben Greenman , Tim Nelson , Shriram Krishnamurthi

Detectability of failures of linear programming (LP) decoding and its potential for improvement by adding new constraints motivate the use of an adaptive approach in selecting the constraints for the LP problem. In this paper, we make a…

Information Theory · Computer Science 2007-07-13 Mohammad H. Taghavi N. , Paul H. Siegel

Large language models (LLMs) have taken the world by storm by making many previously difficult uses of AI feasible. LLMs are controlled via highly expressive textual prompts and return textual answers. Unfortunately, this unstructured text…

Artificial Intelligence · Computer Science 2024-10-28 Mandana Vaziri , Louis Mandel , Claudio Spiess , Martin Hirzel

Novice programmers often struggle to understand how code executes and to form the abstract mental models necessary for effective problem-solving, challenges that are amplified in large, diverse introductory courses where students'…

Human-Computer Interaction · Computer Science 2025-10-01 Naaz Sibia , Valeria Ramirez Osorio , Jessica Wen , Rutwa Engineer , Angela Zavaleta Bernuy , Andrew Petersen , Michael Liut , Carolina Nobre

We introduce a novel paradigm for robot pro- gramming with which we aim to make robot programming more accessible for unexperienced users. In order to do so we incorporate two major components in one single framework: autonomous skill…

Robotics · Computer Science 2017-09-19 Simon Hangl , Andreas Mennel , Justus Piater

Prompt programming treats large language model prompts as software components with typed interfaces. Based on a literature survey of 15 recent works from 2023 to 2025, we observe a consistent trend: type systems are central to emerging…

Programming Languages · Computer Science 2025-08-19 Abhijit Paul

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

The ability to think abstractly and reason by analogy is a prerequisite to rapidly adapt to new conditions, tackle newly encountered problems by decomposing them, and synthesize knowledge to solve problems comprehensively. We present…

Artificial Intelligence · Computer Science 2024-10-08 Jakub Bednarek , Krzysztof Krawiec

Training on verifiable symbolic data is a promising way to expand the reasoning frontier of language models beyond what standard pre-training corpora provide. Yet existing procedural generators often rely on fixed puzzles or templates and…

Computation and Language · Computer Science 2026-03-03 Valentin Lacombe , Valentin Quesnel , Damien Sileo

In this era of diverse and heterogeneous computer architectures, the programmability issues, such as productivity and portable efficiency, are crucial to software development and algorithm design. One way to approach the problem is to step…

Mathematical Software · Computer Science 2012-07-10 Mauro Bianco , Ugo Varetto

For the right application, the use of programming paradigms such as functional or logic programming can enormously increase productivity in software development. But these powerful paradigms are tied to exotic programming languages, while…

Software Engineering · Computer Science 2007-05-23 M. H. van Emden , S. C. Somosan

Debugging software, i.e., the localization of faults and their repair, is a key activity in software engineering. Therefore, effective and efficient debugging is one of the core skills a software engineer must develop. However, the teaching…

Documentation enables sharing knowledge between the developers of a technology and its users. Creating quality documents, however, is challenging: Documents must satisfy the needs of a large audience without being overwhelming for…

Software Engineering · Computer Science 2023-12-01 Mathieu Nassif , Martin P. Robillard

Program synthesis aims to automatically construct human-readable programs that satisfy given task specifications, such as input/output pairs or demonstrations. Recent works have demonstrated encouraging results in a variety of domains, such…

Software Engineering · Computer Science 2023-03-13 Linghan Zhong , Ryan Lindeborg , Jesse Zhang , Joseph J. Lim , Shao-Hua Sun

Learning computer programming has been always challenging. Since the sixties of the last century, many researchers developed Visual Programming Languages (VPLs) to help in this regard. In this thesis, ten VPLs were specifically selected,…

Software Engineering · Computer Science 2020-11-11 Mahmoud Samir Fayed

Many tasks can be easily solved using machine learning techniques. However, some tasks cannot readily be solved using statistical models, requiring a symbolic approach instead. Program induction is one of the ways that such tasks can be…

Machine Learning · Computer Science 2024-02-13 Ahmad Ayaz Amin

We study machine learning formulations of inductive program synthesis; that is, given input-output examples, synthesize source code that maps inputs to corresponding outputs. Our key contribution is TerpreT, a domain-specific language for…

Machine Learning · Computer Science 2016-12-05 Alexander L. Gaunt , Marc Brockschmidt , Rishabh Singh , Nate Kushman , Pushmeet Kohli , Jonathan Taylor , Daniel Tarlow

Program synthesis is challenging largely because of the difficulty of search in a large space of programs. Human programmers routinely tackle the task of writing complex programs by writing sub-programs and then analyzing their intermediate…

Programming Languages · Computer Science 2023-10-31 Augustus Odena , Kensen Shi , David Bieber , Rishabh Singh , Charles Sutton , Hanjun Dai

In recent years, the emphasis on computational thinking (CT) has intensified as an effect of accelerated digitalisation. While most researchers are concentrating on defining CT and developing tools for its instruction and assessment, we…

Human-Computer Interaction · Computer Science 2025-03-20 Giorgia Adorni , Alberto Piatti , Engin Bumbacher , Lucio Negrini , Francesco Mondada , Dorit Assaf , Francesca Mangili , Luca Gambardella