Tue 6 Nov 2018 16:00 - 16:30 at Beacon Hill - IV Chair(s): Roly Perera

Could text-based programming be augmented to allow creating programs just by directly manipulating output?

Prior work on Sketch-n-Sketch, a bimodal program editor, has demonstrated the viability of this approach for programs that produce vector graphics. In addition to standard text editing, in Sketch-n-Sketch the programmer may use the mouse to draw, move, align, group, and abstract shapes on the program’s output canvas, allowing some programs to be created entirely by direct manipulation.

Seeking to scale up this approach, our work extends Sketch-n-Sketch with features for constructing larger programs. First, we show intermediate execution products (rather than only the final output) and expose them for direct manipulation. Second, to better control the effects of program transformations (rather than making changes mostly at the top-level), we let the programmer selectively narrow the editing focus to a single function call; interactions are limited to those intermediates and outputs in focus. Finally, we improve and add tools to offer additional meaningful program transformations.

To present our approach, we walk through the step-by-step construction of a program that draws a von Koch curve fractal. By manipulating the visually rendered intermediates, we build the non-trivial recursive program directly and entirely on the output canvas, without resorting to traditional text-editing.

Tue 6 Nov
Times are displayed in time zone: Guadalajara, Mexico City, Monterrey change

15:30 - 17:00: IVLIVE at Beacon Hill
Chair(s): Roly PereraUniversity of Glasgow
15:30 - 16:00
Scaling the REPL Experience
16:00 - 16:30
SVG Programming by Direct Manipulation of Intermediates
Brian HempelUniversity of Chicago, Ravi ChughUniversity of Chicago
Media Attached
16:30 - 17:00
Chalktalk : A Visualization and Communication Language -- As a Tool in the Domain of Computer Science Education
Ken PerlinNew York University, Zhenyi HeNew York University, Karl RosenbergNew York University