home · mobile · calendar · defenses · 2002-2003 · 

Thesis Defense - Ioannidou

Programmorphosis: Sustained Wizard Support for End-User Programming
Computer Science PhD Candidate

Whereas sophisticated computer users have the ability to exercise more control in what they are exposed to, the technologically challenged end-users remain at the mercy of information producers and thus assume a more passive role in the information society. Being able to control information delivery and produce computational artifacts not only gives users a higher control over what is directed to them, but also gives them control on what is created and communicated to others. Furthermore, empowering end-users to create computational content is an educationally effective and rewarding activity. However, programming is necessary for constructing such artifacts. While learning how to program is not impossible for these end-users, it is usually quite difficult and uninteresting. The high cost/benefit ratio of programming stemming from pragmatic concerns, such as the time required to master a programming language, keeps end-users away from programming - and away from the benefits it can afford.

This dissertation describes Programmorphosis, a multi-layered approach to end-user programming, which, at the highest level, enables novice end-user programmers to define behaviors of interacting agents in a high-level abstract language. In Programmorphosis, behavior genres are used to group and structure domain concepts in a template. Specifying behaviors is achieved by altering behavioral parameters in templates in a wizard environment (the Behavior Wizard) that subsequently generates lower-level executable code. Therefore, the programming process transforms into a task of modification and customization of reusable templates and the program itself transforms from a high level specification to low-level executable code.

The Programmorphosis approach contributes to end-user programming research by (1) introducing sustained wizard support for all phases of the programming task; (2) featuring an extensible multi-layered programming architecture; (3) supporting exploratory programming, which affords a shorter turnaround in the modify-generate-and-test cycle; (4) enabling focus on the problem domain, not programming; and (5) as a tool for use in educational settings, facilitating structured constructionism.

Committee: Alexander Repenning, Research Assistant Professor (Chair)
Clayton Lewis, Professor
Michael Eisenberg, Associate Professor
Mitchell Nathan, School of Education
James Sullivan, Research Associate
Department of Computer Science
University of Colorado Boulder
Boulder, CO 80309-0430 USA
May 5, 2012 (14:20)