[Colloquium] Brian Hempel Dissertation Defense/Jan 27, 2022

meganwoodward at uchicago.edu meganwoodward at uchicago.edu
Thu Jan 13 08:18:48 CST 2022


This is an announcement of Brian Hempel's Dissertation Defense.
===============================================
Candidate: Brian Hempel

Date: Thursday, January 27, 2022

Time:  1 pm CST

Remote Location: https://uchicago.zoom.us/j/98038070543?pwd=S293RVpaeGJhOE5ObnJNNUVaeUhVQT09;  Meeting ID: 980 3807 0543  Passcode: 549284

Location: JCL 298

Title: Tangible Values With Text: Explorations of Bimodal Programming

Abstract: Direct manipulation is everywhere. While the intuitive point-click-operate workflow of direct manipulation is the standard mode of interaction for most computer applications, for over half a century one important application has remained a text-based activity: programming. Can the intuitive workflow of direct manipulation be applied to programming—could programming become as simple as manipulating the program's output, showing the computer what you want it to do? Alas, 45 years of research on this "programming by demonstration" (PBD) vision has yielded only niche successes.

To confront this impasse, this dissertation reverses a key assumption of PBD systems. Traditional PBD systems eschew textual code, assuming that textual code is difficult for users. But, whatever its faults, textual code is a proven paradigm for understanding and editing programs. Therefore, this work instead embraces textual code: we start with text-based programming in a generic programming language and, rather than replace text, instead augment it with PBD-style direct manipulation on visualized program outputs. Output manipulations induce changes to the textual code. Such a system is bimodal: at any time, users may program via text edits on code or via mouse manipulations on outputs.

To explore the expressiveness of this bimodal approach, this work presents two programming systems. The first system, called Sketch-n-Sketch, mimics a traditional graphics editor, enabling users to use standard drawing interactions to create programs that output vector graphics. The second, called Maniposynth, brings output-based interaction closer to ordinary programming, offering a graphical interface for constructing OCaml programs that operate on functional data structures. Via examples, we show the expressive extent of direct manipulation in both systems. Overall, this work expands and illuminates the capabilities of bimodal programming.


Advisors: Ravi Chugh

Committee Members: Ravi Chugh, John Reppy, Shan Lu, and Blase Ur



More information about the Colloquium mailing list