Proceedings Article10.1109/VLHCC.2017.8103446
Exploring exploratory programming
Mary Beth Kery,Brad A. Myers +1 more
- 01 Oct 2017
pp 25-29
111
TL;DR: This work provides an organized description of what exploratory programming has meant historically and a framework of four dimensions for studying exploratory Programming tasks: applications, required code quality, ease or difficulty of exploration, and the exploratory process.
read more
Abstract: In open-ended tasks where a program's behavior cannot be specified in advance, exploratory programming is a key practice in which programmers actively experiment with different possibilities using code. Exploratory programming is highly relevant today to a variety of professional and end-user programmer domains, including prototyping, learning through play, digital art, and data science. However, prior research has largely lacked clarity on what exploratory programming is, and what behaviors are characteristic of this practice. Drawing on this data and prior literature, we provide an organized description of what exploratory programming has meant historically and a framework of four dimensions for studying exploratory programming tasks: (1) applications, (2) required code quality, (3) ease or difficulty of exploration, and (4) the exploratory process. This provides a basis for better analyzing tool support for exploratory programming.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
Proposal of a Learning Process Visualization Method for Learning Tasks with Toggles of Card Operation-Based Programming Learning Support System
Taiki Okuhira,Hiroshi Shigematsu,Shimpei Matsumoto +2 more
- 08 Jul 2023
TL;DR: This study proposed a new analysis method based on the distance from the goal by using the logs of card operations including toggling and confirmed its usefulness.
Supporting Exploratory Programming in Domain-Specific Applications
Daniel Manesh
- 03 Oct 2023
TL;DR: In the creative coding example, the coder might explore several options using different combinations of colors, shapes, textures, and animation speeds.
Restoring the Executability of Jupyter Notebooks by Automatic Upgrade of Deprecated APIs
Chenguang Zhu,Ripon K. Saha,Mukul R. Prasad,Sarfraz Khurshid +3 more
Abstract: Data scientists typically practice exploratory programming using computational notebooks, to comprehend new data and extract insights. To do this they iteratively refine their code, actively trying to re-use and re-purpose solutions created by other data scientists, in real time. However, recent studies have shown that a vast majority of publicly available notebooks cannot be executed out of the box. One of the prominent reasons is the deprecation of data science APIs used in such notebooks, due to the rapid evolution of data science libraries. In this work we propose RELANCER, an automatic technique that restores the executability of broken Jupyter Notebooks, in near real time, by upgrading deprecated APIs. Relancer employs an iterative runtime-error-driven approach to identify and fix one API issue at a time. This is supported by a machine-learned model which uses the runtime error message to predict the kind of API repair needed - an update in the API or package name, a parameter, or a parameter value. Then Relancer creates a search space of candidate repairs by combining knowledge from API migration examples on GitHub as well as the API documentation and employs a second machine-learned model to rank this space of candidate mappings. An evaluation of Relancer on a curated dataset of 255 un-executable Jupyter Notebooks from Kaggle shows that RELANCER can successfully restore the executability of 56% of the subjects, while baselines relying on just GitHub examples and just API documentation can only fix 38% and 36% of the subjects respectively. Further, pursuant to its real-time use case, Relancer can restore execution to 49% of subjects, within a 5 minute time limit, while a baseline lacking its machine learning models can only fix 24%.
User Perspectives on Branching in Computer-Aided Design
Kathy Cheng,Phil Cuvin,Alison Olechowski,Shurui Zhou +3 more
TL;DR: Branching in CAD is still in its early stages, but has the potential to revolutionize hardware product development. This paper explores user perspectives on branching in CAD and identifies opportunities for improvement.
•Proceedings Article
HAConvGNN: Hierarchical Attention Based Convolutional Graph Neural Network for Code Documentation Generation in Jupyter Notebooks
Xuye Liu,Dakuo Wang,April Yi Wang,Yufang Hou,Lingfei Wu +4 more
- 01 Nov 2021
TL;DR: In this paper, a hierarchical attention mechanism was proposed to consider the relevant code cells and code tokens information when generating the documentation, which outperformed other baseline models on a new corpus constructed from well-documented Kaggle notebooks.
References
Exploration and Exploitation in Organizational Learning
TL;DR: In this paper, the authors consider the relation between the exploration of new possibilities and the exploitation of old certainties in organizational learning and examine some complications in allocating resources between the two, particularly those introduced by the distribution of costs and benefits across time and space.
19.7K
•Proceedings Article
Practical Bayesian Optimization of Machine Learning Algorithms
Jasper Snoek,Hugo Larochelle,Ryan P. Adams +2 more
- 03 Dec 2012
TL;DR: This work describes new algorithms that take into account the variable cost of learning algorithm experiments and that can leverage the presence of multiple cores for parallel experimentation and shows that these proposed algorithms improve on previous automatic procedures and can reach or surpass human expert-level optimization for many algorithms.
•Journal Article
Exploratory data analysis
TL;DR: A description of some typical EDA procedures is given and some of the principles of EDA are discussed.
6.6K
Scratch: programming for all
Mitchel Resnick,John Maloney,Andrés Monroy-Hernández,Natalie Rusk,Evelyn Eastmond,Karen Brennan,Amon Millner,Eric Rosenbaum,Jay Silver,Brian Silverman,Yasmin B. Kafai +10 more
TL;DR: "Digital fluency" should mean designing, creating, and remixing, not just browsing, chatting, and interacting.
4K