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
Managing Messes in Computational Notebooks
Andrew Head,Fred Hohman,Titus Barik,Steven M. Drucker,Robert DeLine +4 more
- 02 May 2019
TL;DR: Code gathering tools, extensions to computational notebooks that help analysts find, clean, recover, and compare versions of code in cluttered, inconsistent notebooks are introduced.
169
What's Wrong with Computational Notebooks? Pain Points, Needs, and Design Opportunities
Souti Chattopadhyay,Ishita Prasad,Austin Z. Henley,Anita Sarma,Titus Barik +4 more
- 21 Apr 2020
TL;DR: It is suggested that data scientists face numerous pain points throughout the entire workflow - from setting up notebooks to deploying to production - across many notebook environments.
166
How Data Scientists Use Computational Notebooks for Real-Time Collaboration
April Yi Wang,Anant Mittal,Christopher Brooks,Steve Oney +3 more
- 07 Nov 2019
TL;DR: How synchronous editing in computational notebooks changes the way data scientists work together compared to working on individual notebooks is reported and several design implications aimed at better supporting collaborative editing in synchronous notebooks are proposed, thus improving efficiency in teamwork among data scientists.
125
Practitioners Teaching Data Science in Industry and Academia: Expectations, Workflows, and Challenges
Sean Kross,Philip J. Guo +1 more
- 02 May 2019
TL;DR: Twenty data scientists who teach in settings ranging from small-group workshops to large online courses found that they must empathize with a diverse array of student backgrounds and expectations and face challenges involving authenticity versus abstraction in software setup, finding and curating pedagogically-relevant datasets, and acclimating students to live with uncertainty in data analysis.
95
In-IDE Code Generation from Natural Language: Promise and Challenges
TL;DR: In this paper , a plugin for the PyCharm IDE implements a hybrid of code generation and code retrieval functionality, and orchestrate virtual environments to enable collection of many user events (e.g., web browsing, keystrokes, fine-grained code edits).
References
Variolite: Supporting Exploratory Programming by Data Scientists
Mary Beth Kery,Amber Horvath,Brad A. Myers +2 more
- 02 May 2017
TL;DR: The needs for improving version control tools for exploratory tasks are explored, and a tool for lightweight local versioning, called Variolite, is demonstrated, which programmers found usable and desirable in a preliminary usability study.
Hard-to-answer questions about code
Thomas D. LaToza,Brad A. Myers +1 more
- 17 Oct 2010
TL;DR: A survey of professional software developers asked them to list hard-to-answer questions that they had recently asked about code and revealed opportunities for both existing research tools to help developers and for developing new languages and tools that make answering these questions easier.
Programming Languages as Information Structures
T.R.G. Green
- 01 Jan 1990
TL;DR: This chapter describes three ‘implicit theories’ of programming, which have at different times governed the styles of programming language design, and suggests suggestions for ‘lowering the cognitive barriers to programming’ by more careful design of languages.
75
Interacting with generative music through live coding
Andrew R. Brown,Andrew Sorensen +1 more
TL;DR: This article discusses how live coding of music involves the building and management of generative processes, and suggests that the human interaction with generative process that occurs in live coding provides a unique perspective on the generative music landscape.