Programming By Scaffolded Demonstration with Perpend
Angela Bi, Eric Rawn, Justin Lubin, Sarah E. Chasins
Abstract
Output-centric programming paradigms such as Direct Manipulation Programming, Programming By Demonstration, and Programming By Example enable users to author programs by constructing an intended output. However, sometimes the purpose of a programming interaction is to discover an “intended output” in the first place (e.g., exploratory data analysis, improvisational creative coding, early-stage prototyping). We argue that one role for output-centric programming here is scaffolding the user in demonstrating their next program editing step by selecting among possible modifications to their current program. We call this Programming By Scaffolded Demonstration (PBSD). To explore PBSD, we built Perpend, a programming environment for p5.js. In a user study with nine artists, we juxtapose Perpend with an existing Direct Manipulation editor, exploring how participants used Perpend to situate themselves within a space of possible programs, shift focus between program text and visual output, and shape their exploration by modifying their program structure.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext 954c9165-8af3-4f2e-b29b-d3889ff3968dBuilds on31
- Wrex: A Unified Programming-by-Example Interaction for Synthesizing Readable Code for Data ScientistsIan Drosos, Titus Barik, Philip J. Guo, Robert DeLine et al.CHI 2020 · 110 citations
- Surfacing Visualization MiragesAndrew M. McNutt, Gordon Kindlmann, Michael CorrellCHI 2020 · 103 citations
- Spellburst: A Node-based Interface for Exploratory Creative Coding with Natural Language PromptsTyler Angert, Miroslav Ivan Suzara, Jenny Han, Christopher Lawrence Pondoc et al.UIST 2023 · 72 citations
- B2: Bridging Code and Interactive Visualization in Computational NotebooksYifan Wu, Joseph M. Hellerstein, Arvind SatyanarayanUIST 2020 · 71 citations
- mage: Fluid Moves Between Code and Graphical Work in Computational NotebooksMary Beth Kery, Donghao Ren, Fred Hohman, Dominik Moritz et al.UIST 2020 · 66 citations
Related papers
- Understanding the Challenges of OpenSCAD Users for 3D PrintingJohann Felipe Gonzalez Avila, Thomas Pietrzak, Audrey Girouard, Géry CasiezCHI 2024 · 6 citations
- Denicek: Computational Substrate for Document-Oriented End-User ProgrammingTomas Petricek, Jonathan EdwardsUIST 2025 · 2 citations
- Sculpin: Direct-Manipulation Transformation of JSONJoshua Horowitz, Devamardeep Hayatpur, Haijun Xia, Jeffrey HeerUIST 2025 · 1 citation
- Supporting Visual Artists in Programming through Direct Inspection and Control of Program ExecutionJingyi Li, Joel Brandt, Radomír Mech, Maneesh Agrawala et al.CHI 2020 · 30 citations
- Programming with a read-eval-synth loopHila Peleg, Roi Gabay, Shachar Itzhaky, Eran YahavOOPSLA 2020 · 15 citations
