20 papers · ranked by Valyu relevance
Brian Hempel, Justin Lubin, Ravi Chugh
To obtain both flexibility and ease of use, a number of systems have explored a workflow that we call output-directed programming. In this paradigm, direct manipulation of the program's graphical output corresponds to writing code in a general-purpose programming language, and edits not possible with the mouse can…
Matko Bošnjak, Tim Rocktäschel, Jason Naradowsky, Sebastian Riedel
Given that in practice training data is scarce for all but a small set of problems, a core question is how to incorporate prior knowledge into a model. In this paper, we consider the case of prior procedural knowledge for neural networks, such as knowing how a program should traverse a sequence, but not what local…
Ryan Yen, Jian Zhao, Daniel Vogel
Sketching Authors: Ryan Yen, Jian Zhao, Daniel Vogel Title: Code Shaping: Iterative Code Editing with Free-form AI-Interpreted Sketching Authors: Ryan Yen, Jian Zhao, Daniel Vogel Content: ### 1 INTRODUCTION In programming tasks, text is not always the primary medium for expressing ideas . Programmers often turn to…
Osbert Bastani, Xinming Zhang, Armando Solar-Lezama
We propose a novel approach to program synthesis, focusing on synthesizing database queries. At a high level, our proposed algorithm takes as input a sketch with soft constraints encoding user intent, and then iteratively interacts with the user to refine the sketch. At each step, our algorithm proposes a candidate…
Shuvendu K. Lahiri, Chao Wang, Jacob Van Geffen, Luke Nelson + 3 more
'Isil Dillig' 'Xi Wang' 'Emina Torlak'] Modern operating systems allow user-space applications to submit code for kernel execution through the use of in-kernel domain specific languages (DSLs). Applications use these DSLs to customize system policies and add new functionality. For performance, the kernel executes them…
Mikaël Mayer, Viktor Kunčak, Ravi Chugh
We present an evaluation update (or simply, update) algorithm for a full-featured functional programming language, which synthesizes program changes based on output changes. Intuitively, the update algorithm retraces the steps of the original evaluation, rewriting the program as needed to reconcile differences between…
S. V. Paramonov, Christian Bessière, Anton Dries, Luc De Raedt
—Answer Set Programming (ASP) is a powerful modeling formalism for combinatorial problems. However, writing ASP models can be hard. We propose a novel method, called Sketched Answer Set Programming (SkASP), aimed at facilitating this. In SkASP, the user writes partial ASP programs, in which uncertain parts are left…
Michelle S. Lam, Zixian Ma, Anne Li, Izequiel Freitas + 3 more
The fields of design and HCI have long upheld the practice of sketching as a valuable tool for thought . A key trait of a successful sketching or prototyping tool is that it refocuses cognitive processes on high-level iteration, empowering the practitioner to engage in "design thinking rather than implementation…
Koichi Yamashita, Takamasa Nagao, Satoru Kogure, Yasuhiro Noguchi + 2 more
'Tatsuhiro Konishi' 'Yukihiro Itoh'] In this paper, we describe a code-reading support environment and practical classroom applications using this environment to understand nested loops. Previously, we developed a code-reading support system based on visualization of the relationships among the program code, target…
Oliver Lee, Malte Gather, Eli Zysman-Colman
We describe a new tool for the efficient management of computational chemistry. Digichem is a program that automates and simplifies nearly the entire computational pipeline, including large-scale batch submission of calculations, analysis and results parsing, the generation of 3D density plots and 2D graphs of…
Joshua S. Rule, Steven T. Piantadosi, Andrew Cropper, Kevin Ellis + 2 more
Throughout their lives, humans seem to learn a variety of rules for things like applying category labels, following procedures, and explaining causal relationships. These rules are often algorithmically rich but are nonetheless acquired with minimal data and computation. Symbolic models based on program learning…
Authors not listed
Step-by-step thinking is essential in all domains of chemical sciences and engineering. While machine learning tools are broadly used, algorithms that automate reasoning are far less common. We elaborate on seven categories of human reasoning activities and connect each to applications in chemical science and…
Judith E. Fan, Daniel L. K. Yamins, Nicholas B. Turk-Browne
Production and comprehension have long been viewed as inseparable components of language. The study of vision, by contrast, has centered almost exclusively on comprehension. Here we investigate drawing — the most basic form of visual production. How do we convey concepts in visual form, and how does refining this…
Babu Bassa
In this communication the author describes a software tool named "ChameleonSort". The software program, developed by the present author is useful in the sorting of biological sequence variants like those accumulating mutations while diverging from the common ancestors. Examples include viral protein variants, protein…
Koichi Yamashita, Ryota Fujioka, Satoru Kogure, Yasuhiro Noguchi + 2 more
'Tatsuhiro Konishi' 'Yukihiro Itoh'] Pointers are difficult learning targets for novice learners of C programming. For such difficult targets, introducing a system visualizing program behaviors is generally expected to support learners to understand the targets. However, visualization in existing systems often conceals…
Muhammad Shoaib Farooq, Sher Afzal Khan, Farooq Ahmad, Saeed Islam + 2 more
'Adnan Abid' 'Hussein Suleman'] Computer programming is the core of computer science curriculum. Several programming languages have been used to teach the first course in computer programming, and such languages are referred to as first programming language (FPL). The pool of programming languages has been evolving…
Yoshiharu Ikutani, Takeshi D. Itoh, Takatomi Kubo
The understanding of brain activity during program comprehension have advanced thanks to noninvasive neuroimaging techniques, such as functional magnetic resonance imaging (fMRI). However, individual neuroimaging studies of program comprehension often provided inconsistent results and made it difficult to identify the…
Yun-Fei Liu, Marina Bedny
Programming is a cornerstone of modern society, yet its cognitive and neural basis remains poorly understood. In this study, we test the hypothesis that programming “recycles” pre-existing neural mechanisms and representations in fronto-parietal reasoning networks. Using fMRI, we scanned programming-naïve…
Yoshiharu Ikutani, Takatomi Kubo, Satoshi Nishida, Hideaki Hata + 3 more
Expertise enables humans to achieve outstanding performance on domain-specific tasks, and programming is no exception. Many have shown that expert programmers exhibit remarkable differences from novices in behavioral performance, knowledge structure, and selective attention. However, the underlying differences in the…
Anna A. Ivanova, Shashank Srikant, Yotaro Sueoka, Hope H. Kean + 4 more
Computer programming is a novel cognitive tool that has transformed modern society. What cognitive and neural mechanisms support this skill? Here, we used fMRI to investigate two candidate brain systems: the multiple demand (MD) system, typically recruited during math, logic, problem solving, and executive tasks, and…