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
A Language-Parametric Approach to Exploratory Programming Environments
L. Thomas van Binsbergen,Damian Frölich,Mauricio Verano Merino,Joey Lai,Pierre Jeanjean,Tijs Van Der Storm,Benoit Combemale,Olivier Barais +7 more
- 29 Nov 2022
TL;DR: A host language and object language-independent protocol for exploratory programming akin to the Language Server Protocol is presented in this article , which serves as a basis to develop novel (or extend existing) programming environments such as computational notebooks and command-line REPLs.
The Gamma: Programmatic Data Exploration for Non-programmers
Tomas Petricek
- 12 Sep 2022
TL;DR: The Gamma as mentioned in this paper is a text-based data exploration environment that allows non-experts to access any data source, result in reproducible scripts and encourage users to verify, reuse and modify existing code.
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
TL;DR: This paper proposes HAConvGNN, a hierarchical attention-based model for code documentation generation in Jupyter Notebooks, outperforming baselines on a new corpus of well-documented Kaggle notebooks by considering relevant code cells and tokens.
Measurement as Bricolage: Examining How Data Scientists Construct Target Variables for Predictive Modeling Tasks
Luke Guerdan,Devansh Saxena,Stevie Chancellor,Zhiwei Steven Wu,Kenneth Holstein +4 more
Abstract: Data scientists often formulate predictive modeling tasks involving fuzzy, hard-to-define concepts, such as the ''authenticity'' of student writing or the ''healthcare need'' of a patient. Yet the process by which data scientists translate fuzzy concepts into a concrete, proxy target variable remains poorly understood. We interview fifteen data scientists in education (N=8) and healthcare (N=7) to understand how they construct target variables for predictive modeling tasks. Our findings suggest that data scientists construct target variables through a bricolage process, in which they use creative and pragmatic approaches to make do with the limited data at hand. Data scientists attempt to satisfy five major criteria for a target variable through bricolage: validity, simplicity, predictability, portability, and resource requirements. To achieve this, data scientists adaptively apply problem (re)formulation strategies, such as swapping out one candidate target variable for another when the first fails to meet certain criteria (e.g., predictability), or composing multiple outcomes into a single target variable to capture a more holistic set of modeling objectives. Based on our findings, we present opportunities for future HCI, CSCW, and ML research to better support the art and science of target variable construction.
Fork It: Supporting Stateful Alternatives in Computational Notebooks
Nathaniel Weinman,Steven M. Drucker,Titus Barik,Robert DeLine +3 more
- 06 May 2021
TL;DR: Forking as mentioned in this paper is an extension to notebook that helps data scientists more directly express and navigate through decision points in a single notebook, which is useful for exploring alternatives and debugging code to create a predictive model.
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