Integrative and interactive approach to three-dimensional programming

This dissertation introduces an integrative and interactive environment for three-dimensional (3D) programs. In this environment, users can lend themselves to the creative activity in designing their own icons for the basic building blocks of programs, and they can also wire them together to construct a program. This work is viewed as providing a user-customized method of programming while leveraging the ability to blend both program syntax and semantics within the same virtual space. The integrative approach has been broadened to simulation modeling, especially for system dynamics modeling. A new method for modeling the particular type of a predator-prey system is demonstrated by leveraging the power of human interaction, as applied to two different models: a system dynamics model and the geometry model. Both models are represented in three dimensions and are fully integrated so that interacting with one model's components provides context for the other model's components through a method of highlighting. With the integrative modeling approach, the linkages between the related objects from different model types are visualized by effective interaction means. As a way to leverage the integrative and interactive environment for visual programming, a simple visual programming language for constructing 3D graphics, Visual Programming Tinker (VPTinker), was developed. VPTinker is a data-flow visual programming language for novices to construct virtual Tinkertoy models. It is an iconic language using a factory metaphor representation, and its programming is achieved by wiring the icons together. The integrative environment allows the output of the VPTinker program to be integrated with the source program within the same virtual space. This approach to graphics programming enables a programmer to have a holistic view of the program syntax, the source program, the semantics, and the program output. In the VPTinker environment, a program is arranged within the two-dimensional (2D) plane, and the program output is constructed in the 3D space. New interaction mechanisms among the source program, the output model, and the programmer have also been designed. The user interactions include simultaneous highlighting of related components between the source program and the program output; progressive animation for program execution and its output construction; the play-pause-and-stop execution modes; and adjustable speed of the execution and animation. The VPTinker environment also includes a novel debugging feature, such as setting 3D breakpoints among the program components for the step-by-step execution. Classroom assessments were performed in the Spring and Summer 2006 semesters at the University of Florida to evaluate the effect of visual programming on the problem-solving capability for graphics programming. To evaluate the graphics programming in VPTinker by comparison, the textual counterpart language was designed in such a way that it is mapped one-to-one with VPTinker. The empirical results showed that the subjects who used VPTinker received better grades than those who used the textual counterpart language. The empirical results were analyzed based on the cognitive dimensions of visual and textual notations.